PureMVC(JS版)源码解析11:Model类
这篇文章分析PureMVC三个核心类Model类。Model类的构造函数及工厂函数【即getInstance()
方法】和View类、Controller类是一样的,这里就不重复讲解了,只不过它把mediatorMap
或commandMap
变成了proxyMap
。
Model类保存了所有Proxy的引用,Proxy只能发送消息,不能接受消息,所以Model类的结构相对于View和Controller简单许多。
我们先看一下Model类的registerPorxy()
方法:
Model.prototype.registerProxy= function(proxy)
{
proxy.initializeNotifier(this.multitonKey);
this.proxyMap[proxy.getProxyName()]= proxy;
proxy.onRegister();
};
1
2
3
4
5
6
7
2
3
4
5
6
7
在registerProxy()
方法里面调用了Proxy对象的onRegister()
方法。
同样,还有removeProxy()
/retrieveProxy()
/hasProxy()
等方法, 具体用途看方法名就可以知道,其实现过程和View/Controller类"同义"方法一样,实现方式就不贴代码了,大家可以自己看看代码。
因为,Model类的设计和View/Controller在很多地方是类似的,就不一一分析,可以比照阅读源码。
上次更新: 2022/12/01, 11:09:34