PureMVC(JS版)源码解析05:SimpleCommand类
之前对PureMVC中涉及到观察者模式的三个基本类(Notification/Observer/Notifier)进行了分析,接下来将对PureMVC源码中的其他类进行分析。
# SimpleCommand类
SimpleCommand在MVC类中属于C部分,用于一些复杂的逻辑处理,SimpleCommand类在PureMVC被设计成了一个双面角色,它既可以扮演通知者(Notifier)的角色(即可以发送Notification),也可以扮演观察者(Observer)接受消息。
通过分析源码可知,SimpleCommand类,继承了Notifier类:
function SimpleCommand () { };
SimpleCommand.prototype= new Notifier;
SimpleCommand.prototype.constructor= SimpleCommand;
1
2
3
4
5
2
3
4
5
由于继承了Notifier类,SimpleCommand类继承了Notifier类的sendNotification()
方法,故说它可以扮演通知者角色。
另外,通过源码发现,SimpleCommand类,还有个execute()
方法:
/**
* Fulfill the use-case initiated by the given Notification
*
* In the Command Pattern, an application use-case typically begins with some
* user action, which results in a Notification is handled by the business logic
* in the #execute method of a command.
*
* @param {puremvc.Notification} notification
* The notification to handle.
* @return {void}
*/
SimpleCommand.prototype.execute= function (notification) { };
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
execute()
方法,接受一个Notifcation对象作为参数,但是至于何时会调用execute()
方法暂时先不管他,记住SimpleCommand有这个方法。
因为execute()
方法接受一个Notification对象作为参数,因此,SimpleCommand类可以接受消息。
SimpleCommand类的结构很简单,暂时只需要记住以下几点:
- SimpleCommand类继承自Notifier类(作为消息通知者)
- 有一个
execute()
方法,execute()
方法接受一个Notification对象作为参数(作为消息接收者)
上次更新: 2022/12/01, 11:09:34