hot的学习笔记

我是一只弱小的毛毛虫,想像有一天可以成为强壮的挖土机, 拥有挖掘梦想的神奇手套。。。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  8 随笔 :: 0 文章 :: 1 评论 :: 0 Trackbacks
    前一段时间,曾经做过一点flex的开发工作,最初使用的是cairngorm,后来研究了一下 pureMvc,并进行了部分改造。
由于只是初步涉足flex领域,所以只能提出一点自己的看法,并不具有说服力。
    cairngorm 前端的控件监听用户的行为,只是监听,并不会做任何反应。控件监听以后调用Commands来做相应的事情,Command做了所有工作。把业务逻辑委托到 Bussiness Delegates中,Command调用Business Delegate 后,Business Delegate 通过Service Locator来找到相应的RPC services,然后执行实现从服务器端取数据。
    在Model Locator 保存状态并且能使Model检测到View的变化。这样一来用户操作就能直接影响Model。
    它的体系主要包含下面几部分(具体用法就不做分析了):

    1. Business(业务逻辑部分)

    2. Command(命令部分)

    3. Control(控制部分)

    4. Model(数据模型)

    5. View(界面视图)

    6. VO(ValueObject)


    使用cairngorm 对于整个事件的流程会比较的清晰。个人认为它的整个流程很符合人类的思维方式。但是在实际开发中却感觉 每当添加一个事件的时候,就要去写event command delegate,事件一多就会感觉重复写这些东西很烦。这时候就开始考虑更换一下框架,于是在头的指导下去看了pureMvc框架。
    学了两天后,就深深喜欢上pureMvc了,哈哈!
    顾名思义。pureMvc 就是纯的mvc框架,许多人都错误地把PureMVC误认为它是一个Flash的MVC框架或者是Flex的MVC框架。既然它是一个纯框架,那么,它就不仅仅是支持某种特定 的语言,它的设计是与语言无关的。它支持了好多种常用的编程语言。
    pureMvc的层次结构比cairngorm清晰的多,严格的MVC三层结构。
    1、Model保存对Proxy对象的引用,Proxy负责操作数据模型,与远程服务通信存取数据。

    2、View保存对Mediator对象的引用。由Mediator对象来操作具体的视图组件(View Component,例如Flex的DataGrid组件),包括:添加事件监听器,发送或接收Notification ,直接改变视图组件的状态。

    3、Controller保存所有Command的映射。Command可以获取Proxy对象并与之交互,通过发送Notification来执行其他的Command。

    pureMvc采用了“观察者模式”(被观察者是不关心观察者是谁的),通过消息机制,来维持command 与 mediator的关系,将它们之间的耦合度降到最低。notification机制也是我最喜欢pureMvc的一个方面。



posted on 2009-07-21 22:03 hot 阅读(248) 评论(0)  编辑  收藏 所属分类: flex

只有注册用户登录后才能发表评论。


网站导航: