随笔分类 - 1 GOF Patterns
摘要:意图: 将对象组合成树形结构以表示“部分-整体”的层次结构。 Composite使得用户对单个对象和组合对象的使用具有一致性。适用性: 你想表示对象的部分-整体层次结构。 你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。 (根据J道的理解,遇到树形结构的情形,就可以尝试是否使用组合模式。)组合模式一般有两实现方式:安全性与透明性模式。它们是一对互为矛盾的要求。透明性模式: Component(分支结点)里面声明所有用来管理子类对象的方法。 目的就是为了使客户看来Leaf和Composite没有区别。 但这造成安全性问题。安全性模式: ...
阅读全文
摘要:Command 模式(命令模式又称为行动(Action)模式或交易(Transaction)模式)意图: 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化; 对请求排队或记录请求日志,以及支持可撤消的操作。适用性: 抽象出待执行的动作以参数化某对象,你可用过程语言中的回调(callback)函数表达这种参数化机制。 【所谓回调函数是指函数先在某处注册,而它将在稍后某个需要的时候被调用。】Command模式是回调机制的一个面向对象的替代品。(根据:DesignPatternMiniHandBook.chm)优点: 解耦了发送者和接受者之间联系。 发送者调用...
阅读全文
摘要:Observer模式 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 让一个对象(观察者,Observer)去监视另一个对象(目标,Subject); 它使得目标和观察者之间建立一种 "发布--订阅"(publish-subscribe )的关系。通过Observer模式,观察者可以向目标登记,表明自己要从目标接收事件。目标需要向观察者通知事件时,只是简单地将事件发给每一个观察者。Observer模式的好处是: 它解除了观察者和目标之间的耦合关系。 目标不需要知道它的观察者的任何信息。 相反,目标只是允许观察者订阅事
阅读全文
摘要:目的:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。使用Decorator而不是继承的原因: 当需要扩展的功能的种类很多时,使用继承势必造成很多子类,增加系统的复杂性。经典例子: <<Head First Design Pattern>>里的咖啡吧例子。 基本咖啡有四种:HouseBlend,DarkRoast,Decaf,Espresso。 咖啡调味料四种:steamed milk, soy, mocha, whipped cream milk。 每种咖啡可以和一种或多种调味料混合形成新的咖啡。 此时如果使用继承,将会
阅读全文
摘要:简单介绍: 工厂模式专门负责将大量有共同接口的类实例化。 工厂模式可以动态决定实例化哪一个类。不必事先知道每次要实例化哪个类。工厂模式的几种形态: 简单工厂(Simple Factory) 又称静态工厂模式 <由一个具体工厂类使用静态方法根据客户端传入的数据决定创建那种产品> [main] Product prod = Creator.factory(type1); 工厂方法(Factory Method) 又称多态性工厂模式或虚拟构造子模式(Virtual Constructor) <客户端首先决定创建哪种具体的工厂类,然后由工厂类创建具体的...
阅读全文
摘要:这更多的是一个架构层面的模式,注重从架构的层次去看整个系统,而不是单个类的层次。目的是为一个复杂的系统提供一个统一的接口便于客户程序使用。可能的使用原因:1、原有系统非常复杂,客户程序可能只需要其中一部分功能,或是希望订制使用。2、提供统一的访问入口,限制客户程序对系统的全面访问。 使用Facade,可以监视系统的使用情况。3、提高系统的独立性,减少未来切换系统时对客户程序的影响。与其他模式的区别: Facade模式注重简化接口 Adapter模式注重转换接口 Bridge模式注重分离接口(抽象)与其实现 Decorator模式注重稳定接口的前提下为对象扩展功能例子:门卫通常需要抄作...
阅读全文
摘要:创建模式:(5) 1、Simple Factory 2、Abstract Factory 3、Singleton 4、Builder 5、Prototype结构模式:(7) 1、Adaptor 2、Bridge 3、Composite 4、Decorator 5、Facade 6、Flyweight 7、Proxy行为模式:(11) 1、Chain of Responsibility 2、Command 3、Interpreter 4、Iterator 5、Memento 6、Mediator 7、Strategy 8、State 9、Observer...
阅读全文
浙公网安备 33010602011771号