摘要:
command(命令模式)——对象行为型模式1.意图将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,请求配对或者记录请求日志,以及支持可撤销的操作。2.动机有时必须向某对象递交请求,但是并不知道关于被请求的操作或者请求的接受者的任何信息。命令模式通过将请求本身变成一个对象可向未指定的应用对象提出请求。这个对象可被储存并且可以像其他对象一样传递。关键是一个抽象的command类,定义了一个执行操作的接口,其最简单的形式是一个抽象的execute操作。具体的command子类将接受者作为其一个实例变量,并实现execute操作,指定接受者采取的动作。而接受者有执行该请求所需的具 阅读全文
posted @ 2012-05-20 21:25
w0w0
阅读(219)
评论(0)
推荐(0)
摘要:
行为模式行为模式设计到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述他们之间的通信模式。这些模式刻画了在运行时难以跟踪的复杂控制流。他们将你的注意力从控制流转移到对象间的联系方式上来。行为类模式使用继承机制在类间分派行为。行为对象模式使用对象复合而不是继承。重点是对等的对象如何相互了解对方。chain of responsibility(职责连模式)——对象行为型模式1.意图使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间有耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。2.动机将提交请求的对象与处理的对象解耦。给多个对象处理一个请求 阅读全文
posted @ 2012-05-20 19:22
w0w0
阅读(238)
评论(0)
推荐(0)
摘要:
proxy(代理)——对象结构型模式1.意图为其他对象提供一种代理以控制这个对象的访问2.动机对一个对象进行访问控制的一个原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化。3.适用性在需要用比较通用和复杂的对象指针代替简单的指针的时候,使用proxy模式1)远程代理为一个对象在不同的地址空间提供局部代表2)虚代理根据需要创建开销很大的对象3)保护代理控制对原始对象的访问。保护代理用于对象应该有不同的访问权限的时候。4)智能指引取代了简单指针,在访问对象的时候执行一些附加的操作4.结构参考:http://www.cnblogs.com/rush/archive/2011/06/19/ 阅读全文
posted @ 2012-05-20 14:54
w0w0
阅读(227)
评论(0)
推荐(0)
摘要:
flyweight(享元模式)——对象结构型模式1.意图运用共享技术有效地支持大量细粒度对象2.动机flyweight作为一个共享对象,可以同时在多个场景中使用,并且在每个场景中flyweight都可以作为一个独立的对象。flyweight不能为他所运行的场景做出任何假设,这里的关键概念是内部状态和外部状态之间的区别。内部状态存储于flyweight中,包含了flyweight场景的信息,这些信息使得flyweight可以被共享。外部状态取决于flyweight场景,并且根据场景而变化,因此不可以被共享。用户对象负责在必要的时候将外部状态传递给flyweight。flyweight通常可以对那 阅读全文
posted @ 2012-05-20 13:49
w0w0
阅读(213)
评论(0)
推荐(0)
摘要:
facade(外观)——对象结构型模式1.意图为子系统中的一组接口提供一个一致的界面,facade定义了一个高层接口,这个接口使得这一子系统更加容易使用。2.动机将一个系统划分为若干个子系统有利于降低系统的复杂性,一个常见的设计目标是使子系统之间的通信和相互依赖关系达到最小。达到该目标的途径之一就是引入一个facade对象,为子系统中比较一般的设施提供了一个单一而简单的界面。3.适用性1)当你要为一个复杂子系统提供一个简单接口时,子系统往往因为不断演化而变得越来越复杂,大多数模式使用时都会产生更多更小的类。这使得子系统更具可重用性,也更容易对子系统进行定制,但是这也给那些不需要定制子系统的用户 阅读全文
posted @ 2012-05-20 10:15
w0w0
阅读(334)
评论(0)
推荐(0)
浙公网安备 33010602011771号