WEB开发网
开发学院软件开发Java 轻量级开发的成功秘诀,第 7 部分: Java 替代方案... 阅读

轻量级开发的成功秘诀,第 7 部分: Java 替代方案

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 清单 1 显示的是 Seaside 中购物车的 checkout 方法的一个例子,清单 1.Seaside 中的 checkout 方法 go|shippingbillingcreditCard|cart_WAStoreCartnew.selfisolate:[[selffillCart.sel

清单 1 显示的是 Seaside 中购物车的 checkout 方法的一个例子。


清单 1.Seaside 中的 checkout 方法
go 
 | shipping billing creditCard | 
 cart _ WAStoreCart new. 
 self isolate: 
   [[self fillCart. 
  self confirmContentsOfCart] 
   whileFalse]. 
 self isolate: 
   [shipping <- self getShippingAddress. 
   billing <- (self useAsBillingAddress: shipping) 
          ifFalse: [self getBillingAddress] 
          ifTrue: [shipping]. 
  creditCard <- self getPaymentInfo. 
  self shipTo: shipping billTo: billing payWith: creditCard]. 
 self displayConfirmation. 

对您来说,这个 Smalltalk 代码可能看起来并不自然。妙处在于该方法调用向用户请求输入的任务。基于用户的反应,应用程序的流程发生改变。例如,如果您要询问一个单独的开单地址,就将得到另外的开单窗口。多页面的购物车结帐被减少到一个单页面的方法。

延续的管理在幕后悄悄进行。您不需要知道有关状态的任何东西。与此相比,通常的 Java 语言替代方案看起来是残酷的。每次处理一个请求的时候,您都需要决定保存哪些数据以及在哪里保存它。像 Cocoon 这样的框架模仿这种控制,但没有延续,它会更加困难,而且不能远程得到任何与 Seaside 的功能相似的东西。

元编程

元编程(Metaprogramming),即写程序的程序,是一个功能强大的概念。您已经看过 Java 语言的两个例子:

上一页  1 2 3 4 5 6  下一页

Tags:轻量级 开发 成功

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接