`
hereson
  • 浏览: 1430367 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

初探Cairngorm

阅读更多
就听说过有一个开发Flex 的 Cairngorm 微型框架,可惜以前一直没有研究过,只是听说它可以帮助你写出更优雅的代码和更容易维护的程序。昨天和今天我终于把Steven Webster在Flex DevNet上面写的关于Cairngorm的6篇文章(文章地址可以在这里找到:http://www.macromedia.com/devnet/flex/)看完了,对Cairngorm是何物,如何工作也有了一个清醒的认识。心旷神怡~呵

Cairngorm主要就是对开发Flex应用程序应用了一系列的设计模式,从而使开发出来Flex程序可扩展性,可维护性都大大提高。其工作流程很清晰:

1.Front Controller Listens for User Gestures
前端的控件监听用户的行为。注意它只是监听,并不会做任何反应。

2.Commands Do All the Work
控件监听以后调用Commands来做相应的事情,Command做了所有工作。

3.Delegate Server-Side Business Logic to Business Delegates
把服务器端的业务逻辑委托到 Bussiness Delegates中。因为很多时候command需要获得服务器端数据,所以这样一来它可以直接调用Bussiness Delegates而不用关注如何连接数据的细节,实现了信息隐藏。

4.Business Delegate Finds Services with the Service Locator
Command调用Business Delegate 后,Business Delegate 通过Service Locator来找到相应的RPC services,然后执行实现从服务器端取数据。

5.Transfer Data as Value Objects
把传输过来的数据存储为Value Objects。这点大家应该都很熟悉,比如想要查询一个公告,就必定创建一个公告类,来存储每一个公告的标题等信息。

6.Store State in the Model Locator and Let Model Notify View
在Model Locator 保存状态并且能使Model检测到View的变化。这样一来用户操作就能直接影响Model,比如添加物品到购物车,Model中的购物商品就会自动增加。

以 上就是Cairngorm的流程。虽然Steven Webster一再声明Cairngorm并不是开发Flex Application的唯一方法,但是我觉得这个东西(他也这么认为,呵呵)确实可以帮助你开发出更优雅可维护性更强的程序。强烈推荐大家使用 Cairngorm。
分享到:
评论
1 楼 vinson_wang 2008-07-17  
总结的很好,可是好像现在还不支持flex3,我们用的是flex3.不知道能不能借鉴,哎,只好先试试了。

相关推荐

Global site tag (gtag.js) - Google Analytics