PureMVC or not?It's a problem
来源:互联网 发布:vba编程代码大全 编辑:程序博客网 时间:2024/06/07 05:04
PureMVC不是专为actionscript3写的框架,它为各个主流编程语言都做了框架的代码实现。它是MVC设计模式的一个实践,它能指引开发人员用优雅的可扩展的方式编写带用户界面的程序,而不依赖于具体语言。
那么我们是否应该在项目中使用pureMVC呢?先看看它的优缺点吧。
MVC模式把程序按功能分为Model,View和Control三个层。Model层包含数据类(DataObject类,只保存数据),数据代理类(Proxy类,一般提供从服务器端获取数据);View层包含界面组件类(view components类,用来展示用户界面,接受用户输入),界面调停类(mediator类,用来向Facade类发送Notification消息);control层包括命令类(Command类,执行具体业务)。另外,Notification用来定义消息,Façade用来管理Notification和Command的映射关系。
这样来规划代码会使得代码功能明确,耦合性小,非常有利于团队开发和需求变更。但用不用这套框架,如何使用还需要综合考虑。下面,来看看pureMVC的一些缺点(个人观点,欢迎拍砖)。
1.pureMVC没用直接使用as3的事件机制(Event),而是自己定义了Notification类触发命令和信息传递。这样就不能使用Event提供的一些高级特性,比如弱应用,标签声明等。因为有两种方式传递消息,开发人员在选择Notificaton还是Event时就有困惑,如果项目中没有明确约定,势必造成代码风格的不统一。
2.程序运行时保留了太多资源(proxy,mediator,command),何时以及如何释放这些资源需要一个好的策略,然而这个可不是一个简单的任务。
3.对于复杂的系统,将会有数量巨大的文件件需要管理(每增加一个完整功能,将新建5个新的类,DataObject,Proxy,ViewComponet,Mediator,Command)
PureMVC or not? 对于flex项目,我的答案是not。不过学习PureMVC的源码对加深MVC设计模式理解到很有帮助。
- PureMVC or not?It's a problem
- 658 - It's not a Bug, it's a Feature!
- It's not a BUG, it's a FEATURE!
- poj1483 It's not a Bug, It's a Feature!
- UVa658 - It's not a Bug, it's a Feature!
- UVA658 It's not a Bug, it's a Feature!
- UVa658 It's not a Bug, it's a Feature!
- It's not a Bug, it's a Feature! UVA
- It's not a Bug, it's a Feature! UVA
- It's not a Bug, it's a Feature! UVA
- It's not a Bug, it's a Feature! UVA
- C# or Java ,it's a question?
- 语法 or 算法,it's a question!
- To Be a Coder or Not, That's a Question!
- UVA 658 - It's not a Bug, it's a Feature!
- uva_658 It's not a Bug, it's a Feature! Dijkstra(优先队列)
- Uva 658 - It's not a Bug, it's a Feature!//最短路
- poj1482 & hdu1818 It's not a Bug, It's a Feature!(bfs+状态压缩)
- 用VC++在单文档界面中创建多视图
- 如何选购你自己的蓝牙适配器
- 世纪互联云计算正式商用 落地IDC行业
- 一个睡五分钟等于六个钟头的方法
- FLEX-ComboBox绑定JAVA返回的数据源(RemoteObject)
- PureMVC or not?It's a problem
- OpenGL显示中文类
- 项目经理和团队之间应该保持什么样的距离?
- 通过tape恢复的方法,扩展根目录
- 搞笑
- 電子郵件防毒篇─ClamAV
- oracle GROUP BY 表达式
- 压缩解压缩文件夹文件——解决了中文乱码问题
- 长春地震 2009年3月20日 下午