个人对flex框架的看法!

个人对flex框架的看法!
    前一段时间,曾经做过一点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的一个方面。



你可能感兴趣的:(个人对flex框架的看法!)