有域名了怎么做网站,河南专业的做网站的公司,wap是什么意思的缩写,广东软件公司排名PureMVC#xff08;AS3#xff09;剖析#xff1a;设计模式#xff08;二#xff09; 模式 上一篇中介绍了PureMVC中使用的3种设计模式#xff1a;单例模式、观察者模式、外观模式。本篇将继续介绍剩下的3种设计模式#xff1a; l 使用中介者#xff08;Mediator… PureMVCAS3剖析设计模式二 模式 上一篇中介绍了PureMVC中使用的3种设计模式单例模式、观察者模式、外观模式。本篇将继续介绍剩下的3种设计模式 l 使用中介者Mediator模式来封装UI与系统中其他对象的交互使得各对象不需要显示地互相引用从而使得其耦合松散而且可以独立地改变它们之间的交互 l 使用代理Proxy模式为数据对象提供代理以控制数据对象的访问PureMVC中Proxy负责操作数据模型与远程服务信存取数据 l 使用命令Command模式将请求封装为一个对象实现“行为请求者”与“行为实现者”解耦将发出命令的责任和执行命令的责任分割开。 1. 中介者模式 中介者Mediator模式用一个中介对象来封装一系列对象交互。中介者使各对象不需要相互引用从而使其耦合松散而且可以独立地改变它们之间的交互。适用性摘自《设计模式可复用面向对象软件的基础》 l 一组对象以定义良好但是复杂的方式进行通信。产生的相互依赖关系结构混乱且难以理解。 l 一个对象引用其他很多对象并且直接与这些对象通信导致难以复用该对象。 l 想定制一个分布在多个类中的行为而又不想生成太多的子类。 在PureMVC中Mediator帮助我们创建或重用已有UI组件而UI不用知道PureMVC框架相关的东西UI仅用于显示数据、接收用户输入。Mediator是UI组件与框架的中介它负责将来自PureMVC框架的消息转接到UI并将UI的消息flash事件转发广播到PureMVC框架。这样通过Mediator解耦了UI与PureMVC框架元素Proxy、Mediator、Command而不用互相引用。 图中介者模式 一个Mediator只与一个UI绑定1对1Mediator构造函数参数传递与之绑定的UI。通过façade的registerMediator方法注册Mediator以接收PureMVC框架的通知通过上篇介绍的外观模式可以知道其实最终是通过View这个单例来注册的façade只是提供接口。 图Mediator与UI的关系 2. 代理模式 代理Proxy模式为其它的对象提供一种代理以控制对这个对象的访问。按照使用目的来划分代理有以下几种摘自《设计模式可复用面向对象软件的基础》 l 远程Remote代理为一个位于不同的地址空间的对象提供一个局域代表对象。这个不同的地址空间可以是在本机器中也可是在另一台机器中。远程代理又叫做大使Ambassador。 l 虚拟Virtual代理根据需要创建一个资源消耗较大的对象使得此对象只在需要时才会被真正创建。 l Copy-on-Write代理虚拟代理的一种。把复制克隆拖延到只有在客户端需要时才真正采取行动。 l 保护Protect or Access代理控制对一个对象的访问如果需要可以给不同的用户提供不同级别的使用权限。 l Cache代理为某一个目标操作的结果提供临时的存储空间以便多个客户端可以共享这些结果。 l 防火墙Firewall代理保护目标不让恶意用户接近。 l 同步化Synchronization代理使几个用户能够同时使用一个对象而没有冲突。 l 智能引用Smart Reference代理当一个对象被引用时提供一些额外的操作比如将对此对象调用的次数记录下来等。 在所有种类的代理模式中虚拟Virtual代理、远程Remote代理、智能引用代理Smart Reference Proxy和保护Protect or Access代理是最为常见的代理模式。 在PureMVC中Proxy帮助我们以更易于重用、修改对应用程序影响最小的方式暴露数据结构、接口给应用程序。Proxy可能只是简单的管理本地数据对象以同步方式获取或修改数据也可能是远程服务器数据以异步方式操作数据服务器数据返回之后以Notification方式告诉应用程序。 总之Proxy 集中程序的Domain Logic域逻辑并对外公布操作数据对象的 API。它封装了所有对数据模型的操作不管数据是客户端还是服务器端的对程序其他部分来说就是数据的访问是同步还是异步的。 图Proxy模式 3. 命令模式 命令Command模式又称为行动Action模式或交易Transaction模式命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化对请求排队或者记录请求日志可以提供命令的撤销和恢复功能。摘自《设计模式可复用面向对象软件的基础》 命令模式是对命令的封装把发出命令的责任和执行命令的责任分割开委派给不同的对象。每一个命令都是一个操作请求的一方发出请求要求执行一个操作接收的一方收到请求并执行操作。命令模式允许请求的一方和接收的一方独立开来使得请求的一方不必知道接收请求的一方的接口更不必知道请求是怎么被接收以及操作是否被执行、何时被执行以及是怎么被执行的。 图PureMVC中命令执行时序 在PureMVC中命令用来检索、操作Proxy或者与Mediator通信或者执行其它命令符合命令。命令有两种SimpleCommand、MacroCommand分别用于执行单个任务、多个任务。MacroCommand可以顺序其实多个SimpleCommand。 图简单命令与复合命令 命令模式优点http://baike.baidu.com/view/1963264.htm l 降低对象之间的耦合度。 l 新的命令可以很容易地加入到系统中。 l 可以比较容易地设计一个组合命令。 l 调用同一方法实现不同的功能 命令模式缺点 使用命令模式可能会导致某些系统有过多的具体命令类。因为针对每一个命令都需要设计一个具体命令类因此系统可能需要大量具体命令类这将影响命令模式的使用。 相关文章 [1] PureMVCAS3剖析开篇http://goo.gl/uqUV4 [2] PureMVCAS3剖析实例http://goo.gl/UqnQh [3] PureMVCAS3剖析吐槽http://goo.gl/sDHJU [4] PureMVCAS3剖析设计模式一http://goo.gl/xtiOx