摘要: 命令模式(Command Pattern):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。 主要解决:在软件系统中,行为请求者与 阅读全文
posted @ 2018-03-05 10:25 花园小花匠 阅读(268) 评论(0) 推荐(0)
摘要: 代理模式(Proxy Pattern) :给某一个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式的英文叫做Proxy或Surrogate,它是一种对象结构型模式。 在某些情况下,一个客户不想或者不能直接引用一个对 象,此时可以通过一个称之为“代理”的第三者来实现 间接引用。代理对象可以在 阅读全文
posted @ 2018-03-04 16:54 花园小花匠 阅读(177) 评论(0) 推荐(0)
摘要: 享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。 面向对象技术可以很好地解决一些 阅读全文
posted @ 2018-03-04 16:16 花园小花匠 阅读(196) 评论(0) 推荐(0)
摘要: 外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。 意图:为子系统中的一组接口提供一个一致的界面,外观 阅读全文
posted @ 2018-03-04 13:38 花园小花匠 阅读(276) 评论(0) 推荐(0)
摘要: 装饰模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可以称为包装器(Wrapper),与适配器模式的别名相同,但它们适用于不同的场合。根据翻译的不同,装饰模式也有人称之为“油 阅读全文
posted @ 2018-03-04 13:23 花园小花匠 阅读(139) 评论(0) 推荐(0)
摘要: 桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。 设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的 阅读全文
posted @ 2018-03-02 17:04 花园小花匠 阅读(224) 评论(0) 推荐(0)
摘要: 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 主要解决:主要解决在软件系统中,常常要 阅读全文
posted @ 2018-03-01 20:04 花园小花匠 阅读(255) 评论(0) 推荐(0)
摘要: 以下引用自菜鸟教程 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。 意图:将一个复杂的构建与其 阅读全文
posted @ 2018-03-01 19:23 花园小花匠 阅读(138) 评论(0) 推荐(0)
摘要: 介绍参见菜鸟教程 下面给出C++的一个例子 阅读全文
posted @ 2018-03-01 14:02 花园小花匠 阅读(313) 评论(0) 推荐(0)
摘要: 工厂模式: (摘自菜鸟教程) 意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 主要解决:主要解决接口选择的问题。 何时使用:我们明确地计划不同条件下创建不同实例时。 如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。 关键代码:创建过程 阅读全文
posted @ 2018-02-28 09:51 花园小花匠 阅读(198) 评论(0) 推荐(0)