- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PureMVC開发框架使用手册中文版
PureMVC开发框架使用手册
目录(目录结构==类文件的文件夹结构)
1 patterns包
1.1 开发框架
1.2 框架结构
1.3 使用方法
1.4 “高内聚低耦合”的实现——程序架构要点
2 Facade类
3 mvc包
3.1 Model类
3.2 View类
3.3 Controller类
4 media包
4.1 Proxy类
4.2 Mediator类
4.3 Command类
4.4 Commands类
5 observer包
5.1 Observer类
5.2 Notifier类
5.3 Notice类
正文
1 patterns包
顶级包,应该放在程序的类目录的根目录下1.1 开发框架
开发框架一个空架子,我们可以自己加工、创造零部件,装配上去,使这个系统按照我们的设计意图运行起来。
这个开发框架基于PureMVC框架构建,目标是开发出更健壮、易维护、易扩展、可重用的应用程序。当然,采用这个开发框架并不等于实现了这个目标,要实现这个目标,还需要我们在开发过程中不断调整、不断优化程序架构。实现这个目标的关键是,降低模块间的耦合度。
1.2 框架结构
这个开发框架分为低耦合的三个层Model、View和Controller。这三部分由三个单例模式类管理,三者合称为核心层。还有一个单例模式类——Fa?ade,是整个系统的管理者。
简单地说,就是三个核心层、一个管理者,其余的就是零部件,可以按需增减。
其架构如下图所示:
其中:
▲ Model负责保存Proxy名称与实例的映射,根据Proxy名称获取其实例。Proxy负责保存数据对象,存取数据。
▲ View负责保存Mediator名称与实例的映射、Notice名称与观察者的映射,根据Mediator名称获取其实例,根据Notice通知其观察者。Mediator负责保存视图组件,操作具体的视图组件,处理通知。观察者负责保存通知的处理者及其处理方法,收到通知则告知其处理者处理这个通知。
▲ Controller负责保存Notice名称与Command类的映射,执行通知对应的Command。Command负责执行业务逻辑处理通知。
▲ Fa?ade是框架的管理者和通信中心,是框架与外界通信的唯一接口,负责初始化Model、View、Controller单例,发送通知。
1.3 使用方法
开发框架一个空架子,我们所要做的就是编写具体的Command、Mediator、Proxy添加自定义属性和方法,保存到Model、View、Controller中。在没有保存Proxy、Mediator和Observer、Command时,Model、View、Controller就是一个空架子。
通常,我们需要自定义视图组件影片剪辑类,Flash的舞台就是一个自定义视图组件。有时,还需要自定义事件、声音对象、数据对象。
1.4 “高内聚低耦合”的实现——程序架构要点
1.4.1 什么是低耦合是模块之间不直接互相操作,而是通过中介通知、事件来实现互操作。1.4.2 实现手段——程序架构要点
1、采用事件模型
2、采用通知机制
3、事件模型和通知机制的结合
2 Facade类
包:patterns
类:public class Fa?ade
实现:Fa?ade?IFacade
Fa?ade是框架的管理者和通信中心,是框架与外界通信的唯一接口,负责初始化Model、View、Controller单例,发送通知。
2.1 属性
//===========只允许自己和子类访问 ================
protected var model:Model; // Model单例
protected var view:View; // View单例
protected var controller:Controller; // Controller单例
protected static var instance:Facade; // Facade单例
protected const SINGLETON_MSG:String = Facade already exist!; //消息常量
(通常,在自定义Fa?ade类中定义通知名称常量。因为系统全局都要用。)
2.2 方法
public function Facade() //构造函数,由于Facade是单例,所以应调用单例工厂方法Facade.getInstance(),而不能直接调用该构造函数,否则会抛出异常
protected function initFacade():void //初始化Facade单例,子类可追加不要替换
public static function getInstance()
文档评论(0)