首页 > 教程 > [高级教程]第一节--WeeMVC 和 PureMVC 的区别

[高级教程]第一节--WeeMVC 和 PureMVC 的区别

一、PureMVC 是什么?

PureMVC 是一个定位于设计高性能 RIA 客户端的基于模式的框架。现在它已经被移植到其他的平台上,包括服务器端环境。


PureMVC 框架的目标很明确,即把程序分为低耦合的三层:Model、View 和 Controller。 降低模块间的耦合性,各模块如何结合在一起工作对于创建易扩展,易维护的应用程序是非常重要的。


在 PureMVC 实现的经典 MVC 元设计模式中,这三部分由三个单例模式类管理,分别是 Model、View 和 Controller。三者合称为核心层或核心角色。


PureMVC 中还有另外一个单例模式类——Façade,Façade 提供了与核心层通信的唯一接口,以简化开发复杂度。

二、具体差异

  • 使用人群不同
  • 适用场景不同
  • 最终目标不同
使用人群不同

PureMVC 是一个模式的产物。有很多经典设计模式的应用。例如 facade 外观模式,proxy 代理模式等,设计模式固然可以给代发带来很多好处,但是在某些时候,例如项目不大时、开发者水平受限而又要快速开发一个项目时,过多得使用模式无疑会大大降低开发效率。所以 WeeMVC 就是为此类人群而设计,为此类人群而生!从这个角度来看,WeeMVC 与 PureMVC 在代码级别具体的差异体现在:

  • WeeMVC 简化视图以及模型对框架的依赖,当不需要使用框架时,可以很快的进行代码移植
  • WeeMVC 的使用中没有引入 facade、proxy 等过多的设计模式,简化整个系统的使用,只需要在命令类中控制模型和视图的关系。使得整个程序更加简洁和精悍
  • WeeMVC 中将执行命令类的事件通知和数据改变的事件通知分开,发送事件时只需通过不同的变量类型来区分两者
适用场景不同

PureMVC 和 WeeMVC 最大的区别之一就在于:他们的使用场景不一致。WeeMVC 的门槛更低,而且更为制作 Flash 互动项目而设计。


WeeMVC 专为 Flash IDE 设计,可以直接将舞台实例的引用传递给相应的视图,方便使用 Flash IDE 进行创作的开发者迅速上手以及理解舞台上实例与视图类的对应关系,并且能更方便的使用 Flash 时间轴特性。


而我们从 PureMVC 的官方主页可以看到,它的实现几乎涵盖了时下各个流行语言。众所周知,如果一个框架它需要支持语言越多,那么它就必须为越多的语言来考虑,从而在具体实现中针对某一种语言的灵活性就会大大降低,势必针对某一语言来讲也会更加复杂。而 WeeMVC 在这一点上就完全不用担心,因为它得目标非常单一,目前仅仅只针对 Flash。

最终目标不同

从 PureMVC 的名字中我们可以看出,它是想创造一个纯净的 MVC 框架,并以此来把程序分为低耦合的三层:Model、View 和 Controller。另外由于它对众多语言的支持,使用它在各个语言之间切换将会变得比较容易。而 WeeMVC 则是为 Flash 开发者而设计;为刚刚踏入 AS 语言大门的同学们而设计;为目前国内大多数励志想做出更酷、更炫的更复杂 Flash 作品的“整合者”们而设计。

三、定位不同,所以体现的价值也不同

他们的定位截然不同,WeeMVC 是一种符合国内大部分“整合者”开发模式的微型框架。我们完全可以这么比喻:WeeMVC 是一个通向更高 Flash 开发技巧的阶梯、学习更复杂框架(例如 PureMVC 等)编程技术的桥梁,当您熟练掌握 WeeMVC 之后,您就能够非常快速的学习更高级的 Flash 编程知识了。希望每一个“整合者”都能通过 WeeMVC 在 Flash 开发领域走得更远,飞得更高!

最新动态

  • 1、AS3 版本支持 Flex SDK。
  • 2、升级到 1.3.0 版本!
  • 3、增加 AS2 的文档
  • 4、增加新的教程
更多 >>

问题反馈