摘要: 意图将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;队请求排队或记录请求日志,以及支持可撤销的操作。应用场景uu类图参与者Command 声明执行操作的接口ConcreteCommand将一个接收者对象绑定于一个动作调用接收者相应的操作,以实现ExecuteClient创建一个具体命令对象,并设定它的接收者Invoker要求该命令执行这个请求Receiver知道如何实施与执行一个... 阅读全文
posted @ 2013-11-20 11:27 tanhaiyuan 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 意图十多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。应用场景uu类图参与者Handler定义一个处理请求的接口(可选)实现后继续ConcreteHandler处理它所负责的请求接口可访问它的后继者如果处理该请求,就处理之。否者将该请求转发给它的后继者。Client向链上的ConcreteHandler对... 阅读全文
posted @ 2013-11-20 10:03 tanhaiyuan 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 意图用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。类图代码#include #include using namespace std;class Prototype{private: string id;public: Prototype(string id) { this->id = id; } virtual Prototype *Clone()=0; void Set... 阅读全文
posted @ 2013-11-15 13:54 tanhaiyuan 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 意图为子系统中的一组接口提供一个一致的界面。定义了一个高层接口,这个接口使得这一子系统更加容易使用应用场景实现平台无关性。跨平台跨库的函数调用。同一个接口去读取不同的资源。硬件自动识别处理系统。类图参与者Facade知道哪些子系统类负责处理请求将客户的请求代理给适当的子系统对象Subsystem classes实现子系统的功能处理由Facade对象指派的任务没有Facade的任何相关信息:即没有指... 阅读全文
posted @ 2013-11-15 09:17 tanhaiyuan 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 意图将对象组合成树形结构以表示"部分-整体"的层次结构。使得用户对单个对象和组合对象的使用更具有一致性。类图参与者Component为组合中的对象声明接口在适当的情况下,实现所有类共有接口的缺省行为。声明一个接口用于访问和管理Component的子组件(可选)在递归结构中定义一个接口,用于访问一个父部件,并在合适情况下实现它。Leaf在组合中表示叶节点对象,叶节点没有子节点。在组合中定义对象的行为... 阅读全文
posted @ 2013-11-15 08:42 tanhaiyuan 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 意图动态的给一个对象添加一些额外的职责。Decorator模式添加功能比生成子类更为灵活。类图参与者Component定义一个对象接口,可以给这些对象动态地添加职责ConcreteComponent定义一个对象,可以个这个对象添加一些职责Decorator维持一个指向Component对象的指针,并定义一个与Component的接口一致的接口ConcreteDecorator向组件添加职责代码#i... 阅读全文
posted @ 2013-11-14 16:17 tanhaiyuan 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 意图 为其他对象提供一种代理以控制对这个对象的访问。类图参与者Proxy:Subject:定义RealSubject和Proxy的共用接口。RealSubject:定义Proxy所代表的实体作用:代理根据其种类,在适当的时候向RealSubject转发请求代码#include using namespace std;class Subject{public: virtual void Reques... 阅读全文
posted @ 2013-11-13 16:42 tanhaiyuan 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 意图将抽象部分与它的实现部分分离,使它们都可以独立的变化应用场景类图参与者Abstraction定义抽象的接口。维护一个指向Implementor类型对象的指针。RedefineAbstraction扩充由Abstraction定义的接口Implementor定义实现类的接口,该接口可以与Abstraction的接口完全不同。一般来讲,Implementor接口仅提供基本操作,而Abstracti... 阅读全文
posted @ 2013-11-13 15:12 tanhaiyuan 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 意图将一个类的接口转换成客户希望的另一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作类图对象适配器类适配器参与者Target: 定义Client使用的特定领域的接口Client :与符合Target接口的对象协作Adaptee:定义一个已存在的需要适配的接口Adapter: 对Adaptee的接口与Target接口进行适配代码对象适配器#include using namespa... 阅读全文
posted @ 2013-11-13 12:38 tanhaiyuan 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 照着书上的例子,将此模式记住。一字一字的读模式意图,同时想模式的实现, 更深的领悟发现不同模式的相同点发现不同模式相同点的不同点 阅读全文
posted @ 2013-11-12 17:36 tanhaiyuan 阅读(102) 评论(0) 推荐(0) 编辑