PureMVC学习笔记之基础概念
来源:互联网 发布:java的游戏引擎 编辑:程序博客网 时间:2024/05/19 02:25
首先看看两者的区别:
MVC:Mode、View、Controller
PureMVC:MVC、Proxy、Mediator、Command、Facade
接着小心推敲各自的职责:
Model、Proxy:
Model保存对Proxy对象的引用,Proxy负责操作数据模型,与远程服务通信存取数据。(这样保证了Model层的可移植性)
View、Mediator:
View保存对Mediator对象的引用。由Mediator对象来操作具体的视图组件(例如DataGrid组件),包括:添加监听、发送或接收Notification,改变视图组件的状态。
Controller、Command:
Controller保存所有Command的映射。Command类是无状态的,只在需要时才被创建。
Command可以获取Proxy对象并与之交互,发送Notification,执行其他的Command。例如应用程序的“启动”和“关闭”。
Facade:
单例,负责初始化核心层(Model、View和Controller),并能访问他们的Public方法。
(1)、负责初始化Controller,建立Command与Notification之间的映射。
(2)、执行一个Command,注册所有的Mode和View
(3)、将Mode、View和Controller对象的引用保存在自己的成员变量。
通信方式:
PureMVC通信:
不采用flash的事件响应,而是使用观察者模式来通信。
实际被我们使用的:
Notification:
Facade保存了Command与Notification之间的映射。当Notification被发出时,对应的Command会自动地由Controller执行。
Mediator:(发送、声明、接收Notification)
当用View注册Mediator时,Mediator的listNotifications方法会被调用,以数组形式返回该Mediator对象所关心的所有Notification。
之后,当系统其它角色发出同名的Notification时,关系这个通知的Mediator都会调用handleNotification方法,并将Notification以参数传递到方法。
Proxy:(发送,但不接收Notification)
例如,Proxy从服务器收到数据时,发送Notification到系统。当Proxy的数据被更新时,发送Notification到系统。
View和Controller监听Proxy发送的Notification。用户通过界面(view)与数据(Proxy)交互。
对外公布操作数据对象的API。封装了所有对数据模型的操作。
有这些命令:
SimpleCommand:
只有一个execute方法,仅接受一个Inotification实例作为参数。
MacroCommand:
可以执行多个Command。每个执行都会创建一个Command对象并传参一个对源Notification的引用。
它在构造方法中调用自身的initializeMacroCommand方法。只需要重写这个方法,调用addSubCommand添加子Command。
也可以任意组合Simple和Macro成为一个新的Command。
- PureMVC学习笔记之基础概念
- puremvc学习笔记
- pureMVC 学习笔记
- UML学习笔记之基础概念
- PureMVC 学习(吐槽)笔记
- nginx学习笔记(2):nginx基础概念之connection
- GIS地图学习笔记一之基础概念《未完待续》
- PureMVC基础
- C#基础概念学习笔记
- html学习笔记-基础概念
- Linux学习笔记<基础概念>
- PureMVC笔记
- pureMVC 笔记
- 机器学习之基础概念
- lucene学习之基础概念
- ETL学习笔记之概念
- Ext学习笔记1-基础概念
- Cocos2d 学习笔记 - 3 - 基础概念
- eclipse常见问题
- HDU1565 方格取数(1)网络流
- 内部排序法总结
- SQL ---CUBE 和 ROLLUP 之间的具体区别
- Spring定时器的两种实现方式
- PureMVC学习笔记之基础概念
- ANT的安装与配置
- MFC简单实现FTP上传下载
- 黑马程序员--02.Java语言基础--04.【数组中常见的算法】
- Android一个简单易用的进度条
- UNIX环境高级编程——线程属性之分离属性
- java 如何处理大数据---技巧
- 总结零碎点
- 【javaWeb第八天】-servlet线程安全问题