pipi7817 / weemvc

Automatically exported from code.google.com/p/weemvc
1 stars 0 forks source link

感觉 veiw 分发的每个命令类和 DisplayObject 的 EventDispatcher 差不多,那么他们有什么区别呢? #2

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
乍一看确实很一样。而且用 EventDispatcher 
貌似还可以支持多个客户类的监听。而
且还是 DisplayObject 自带的。何乐而不为?

WeeMVC 用命令模式的实现的 Controller 来达到和 view 与 model 
的分离,主要是
基于以下几个点的考虑:

1 命令类的复用。
考虑这样的情况:有些时候要同事去发送很多事件,而且这��
�事件在很多地方都重复
使用的,而且他们不是从一个地方( 
view、control或者model)发送过来的。这时
候,就需要去监听很多个类。

2 减少重复编码。
经常在使用 EventDispatcher 的时候,还得在客户类里使用大量的
addEventListener 来监听。虽然 AS 
是事件驱动,但并不意味着就一定要使用这种方
式来传递事件。如果使用 WeeMVC 
的一个命令类,就可以很好的解决这个问题。

3 不用考虑复杂的垃圾回收问题。
通常我们都习惯不加弱引用,这样哪怕这个事件发送完毕,��
�仍然不能被垃圾回收
掉,这样的地方多了,程序自然就慢了。

Original issue reported on code.google.com by ibio520 on 12 Mar 2009 at 2:16