pureMVC总结

façade单实例保存了对M、V、C三个对象的引用,M、V、C分别用来管理proxy、mediator、command。各对象之间通过发送的Notification(由名与体组成)联系起来,只有proxy只能直接被调用(让Model与其余部分解耦合)。
 
façade子类的单实例保存在基类的静态prorected字段—instance中。façade基类的构造函数会调用prorected方法initializeController,需要在此方法的重写方法体中注册command。 程序运行时可先获得façade单实例,再发送Notification来触发一个起始command,而起 始command再来注册proxy和mediator。
 
command分为MacroCommand和SimpleCommand,MacroCommand子类需要在定义中重写initializeMacroCommand方法来添加子Command,SimpleCommand子类需要在定义中重写execute方法来处理Notification体。command对象在被Notification触发时创建,执行完就销毁;MacroCommand对象中的子Command按顺序被同一个Notification触发。
 
proxy提供接口供command或mediator来调用。
 
mediator能订阅处理view component的事件。mediator子类需要在定义中重写listNotificationInterests方法,此方法返回包含Notification名的字符串数组,mediator子类能够侦听响应这些Notification;mediator子类还需要在定义中重写handleNotification方法,此方法根据Notification名的不同做不同处理。

猜你喜欢

转载自blog.csdn.net/wzp1986/article/details/5341518