电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

PureMVC开发框架使用手册中文版

  • 资源ID:119499985       资源大小:90KB        全文页数:10页
  • 资源格式: DOC        下载积分:8金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要8金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

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。这三部分由三个单例模式类管理,三者合称为核心层。还有一个单例模式类Faade,是整个系统的管理者。简单地说,就是三个核心层、一个管理者,其余的就是零部件,可以按需增减。其架构如下图所示:其中: Model负责保存Proxy名称与实例的映射,根据Proxy名称获取其实例。Proxy负责保存数据对象,存取数据。 View负责保存Mediator名称与实例的映射、Notice名称与观察者的映射,根据Mediator名称获取其实例,根据Notice通知其观察者。Mediator负责保存视图组件,操作具体的视图组件,处理通知。观察者负责保存通知的处理者及其处理方法,收到通知则告知其处理者处理这个通知。 Controller负责保存Notice名称与Command类的映射,执行通知对应的Command。Command负责执行业务逻辑处理通知。 Faade是框架的管理者和通信中心,是框架与外界通信的唯一接口,负责初始化Model、View、Controller单例,发送通知。1.3 使用方法开发框架只是搭建了一个空架子,我们所要做的就是编写具体的Command、Mediator、Proxy等这些零部件,给它们添加自定义属性和方法,保存到Model、View、Controller中。在没有保存Proxy、Mediator和Observer、Command时,Model、View、Controller就是一个空架子。通常,我们需要自定义视图组件:影片剪辑或声音放在Flash库中,它们对应的类文件放在包中,Flash的舞台就是一个自定义视图组件,文档类就是舞台对应的类文件。有时,还需要自定义事件、声音对象、数据对象等等。1.4 “高内聚低耦合”的实现程序架构要点1.4.1 什么是高内聚低耦合?简单地说,就是模块之间不直接互相操作,而是通过中介:通知、事件来实现互操作。举例一:程序中有两个对象A、B,当A发生变化时,需要B随之变化。如果A发生变化时,只发出通知或触发事件,B负责响应,那么A、B之间就是低耦合关系。A、B不必知道对方的实现细节。如果A发生变化时,直接调用B的接口,使B发生相应变化,并获取操作结果,那么A、B之间就是强耦合关系。A、B需要知道对方的一些实现细节(属性或方法)。举例二:球场上打比赛,As是裁判、Bs是球员,As与Bs需要合作。如果比赛需要暂停,As只是吹哨,Bs听到号令就停下来,那么As、Bs之间就是低耦合关系。As、Bs不必抓住对方手脚。如果比赛需要暂停,As直接走过去把Bs控制住,使Bs无法继续行动,那么As、Bs之间就是强耦合关系。1.4.2 实现手段程序架构要点1、采用事件模型2、采用通知机制3、事件模型和通知机制的结合2 Facade类包:patterns类:public class Faade实现:FaadeIFacadeFaade是框架的管理者和通信中心,是框架与外界通信的唯一接口,放在顶级包中,负责初始化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!" /消息常量(通常,在自定义Faade类中定义通知名称常量。因为系统全局都要用。)2.2 方法public function Facade() /构造函数,由于Facade是单例,所以应调用单例工厂方法Facade.getInstance(),而不能直接调用该构造函数,否则会抛出异常protected function initFacade():void /初始化Facade单例,子类可追加不要替换public static function getInstance():Faade / Facade单例工厂方法/= 创建三个核心层 = protected function initModel():void /在自定义Faade子类中,若想创建自定义Model并且自定义Proxy初始化时不需要引用Facade,可以重写这个方法,否则就先调用这个方法,再注册Proxy。注意:这个方法很少被重写,实践中,你更喜欢用command创建并注册Proxy,因为存有可变数据的Proxy很可能需要发送Notice,因此在创建时需要引用Facade。protected function initView():void /在自定义Faade子类中,若想创建自定义View,或想注册自定义Observers,可以重写这个方法,否则就先调用这个方法,再注册Mediator。注意:这个方法很少被重写,实践中你更可能使用command创建并注册Mediator,因为Mediator实例需要发送Notice,因此在创建时需要引用Faade。protected function initController():void /在自定义Facade子类中,若想创建自定义Controller,可以重写这个方法,否则就先调用这个方法,再注册command/= 与Model层的交互 =public function addProxy ( proxy:IProxy ):void /添加proxy实例到Model中public function retrieveProxy ( proxyName:String ):IProxy /从Model中获取proxy实例public function removeProxy ( proxyName:String ):IProxy /从Model中移除proxy实例public function hasProxy( proxyName:String ):Boolean /判断Model中是否有proxy实例/= 与View层的交互 =public function addMediator( mediator:IMediator ):void /添加mediator实例到View中public function retrieveMediator( mediatorName:String ):IMediator /从View中获取mediator实例public function removeMediator( mediatorName:String ):IMediator /从View中移除mediator实例public function hasMediator( mediatorName:String ):Boolean /判断View中是否有mediator实例/= 与Controller层的交互 =public function addCommand( noticeName:String, cmd:Class ):void /添加Command类到Controller中public function removeCommand( noticeName:String ):void /从Controller中移除noticeName 对应的Command类public function hasCommand( noticeName:String ) : Boolean /判断Controller中是否有noticeName 对应的Command类/= 与Observer的交互,实现通信机制 =public function sendNotice( noticeName:String, body:Object=null, type:String=null ):void /创建并发送一个通知,这样,我们在实现代码中,就不用再创建通知实例了。public function notifyObservers( notice:INotice ):void /公开这个方法,主要是为了向下兼容,允许你使用faade发送自定义通知。通常,你可以只调用sendNotice方法,根本不需要自己创建通知。3 mvc包只有三个核心类,是三个单例,分别实现MVC三个核心层,是框架的主体(media是配件),不可增减。3.1 Model类包:patterns.mvc类:public class Model实现:Model IModel负责保存Proxy名称与实例的映射,根据Proxy名称获取其实例。3.1.1 属性/= 只允许自己和子类访问 =protected var proxyMap:Object; /保存Proxy名称与实例的映射protected static var instance:Model; /Model单例protected const SINGLETON_MSG:String = "Model already exist!" /消息常量3.1.2 方法public function Model() /Model是单例,不能直接调用该构造函数,而应该调用单例工厂方法Model.getInstance(),否则抛出异常protected func

注意事项

本文(PureMVC开发框架使用手册中文版)为本站会员(1818****572)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.