Cairngorm我的使用心得:
1.View提供所有可视组件
2.FrontControl监听所有的Event
3.当用户操作引起Event发送时,View通过Cairngorm将Event发送到指定的Event中,这后Event在FrontControl接受处理
4.FontControl将Event发送到相应的Command 。Command调用相应的Delegate
5.Delegate完成远程调用,返回到Command
6.Command结果处理部分返回的信息。并且对Model部分做出修改。
7.Model部分的绑定数据被修改,View部分做出相应的变化。
Cairngorm的优点是:
Cairngorm有良好的支持并且一个活跃的开发者社区继续为它工作。此外,它借用了来自Java开发世界的已被证明的策略。它非常适合团队开发和大型项目
在Cairngorm中,每个事件映射到一个Command;因此需要去写非常多的类。
只能为每个事件提供一个响应器(responder).并且Cairngorm事件并不会冒泡,所以如果你想要通知其他更高一级的容器,就只能自己来处理了。
框架过于依赖于全局单例,让想要模块化和单元测试变的困难。
PureMVC我的使用心得:
Mediator可以用来发送Notification,监听Notification,监听Component自身的事件并将事件转化为Notification,设置Component的数据,调用Component的方法,可以创建其他Mediator,可以直接获得Proxy并调用其公开的属性和方法
Command可以用来发送Notification,允许注册,获得和删除Proxy与Mediator,可以同时处理多个Proxy
Proxy只发送但不接收Notification,可以和其他Proxy相通信,与后台连接。
PureMVC的优点是:
有一个稳定的框架并且拥有一个庞大的活跃社区来支持它。所以它也非常适合团队开发。
和Cairngorm的缺点很类似。对单件过于依赖。对于事件处理拥有它自己的方法,并且它会使标准的Flex事件模型更难运作。需要创建很多类。