上篇文章,分析与视图相关联的Mediator类,接下来分析与数据相关联的Proxy类。
关于Proxy类的作用,在Proxy类源码中,有这么一段注释:
1 | * In PureMVC, Proxy classes are used to manage parts of the application's data |
翻译成中文就是,在PureMVC中,Proxy类用来管理应用的数据模型。
Proxy类的结构很简单,一个和Mediator类功能一样的NAME静态成员,还有一个data属性,用来存储proxy管理的数据。
1 | /** |
这两个属性都有get
/set
方法(getProxyName()
/setData()
/getData()
)。
接下来,看看Proxy类的构造函数:
1 | function Proxy(proxyName, data) |
Proxy类通过构造函数为proxyName
和data
属性赋初值。
Proxy类继承Notifer类,因此它可以发送消息,但它是一个纯粹的通知者,它不具备接受消息的功能,这一点需要记住。
1 | Proxy.prototype= new Notifier; |
另外,和Mediator类一样,Proxy类也要在facade
中注册,它也有onRegister()
/onRemove()
方法,这里就不在陈述,具体用法和Mediator类的onRegister()
/onRemove()
用法一样。
总结
Proxy类的结构很简单,只需要记住两点:
- data属性,可以用来存储它所管理的data model
- 可以发送消息,不能接受消息