摘要:
 阅读全文
摘要:
中介者模式 定义 中介者模式, 用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 适用场景 中介者模式一般应用于一组对象以定义良好但复杂的方式进行通信的场合,以及想要制定一个分布在多个类中的行为,而又不想生成太多子类的场 阅读全文
摘要:
状态模式 定义 状态模式, 当一个对象的内在状态发生改变时,允许改变其行为,使对象看起来像改变了类。 适用场景 主要解决的是当控制一个对象状态转换的条件过于复杂的情况。把状态的判断逻辑转移到表示不同状态的一系列勒种,可以把复杂的判断逻辑简化。 类图 阅读全文
摘要:
建造者模式 定义 建造者模式是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。这样使得建造代码与表示代码分离, 由于建造者隐藏了产品是如何组装的,所以如果需要改变一个产品的内部表示,只需要再定义一个具体建造者就可以了。 适用场景 主要用于创建一些复杂的对象,这些对象内部构建 阅读全文
摘要:
外观模式 定义 外观模式是为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 适用场景 将多个关系比较复杂的类放到一个外观类中统一处理,从而外部调用起来只需要和外观类打交道,而不必清楚各个类之间的调用关系。比如系统开发中的分层设计等。 类图 阅读全文
摘要:
模板模式 定义 定义一个操作中的算法骨架,将一些步骤延迟到子类中去实现。这样可以使得子类可以在不改变一个算法结构即可冲定义该算法的某些特定步骤。 模板方法模式就是通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势。 适用场景 当不变的和可变的行为在方法的子类实现中混合在一起的时候,不变的行 阅读全文
摘要:
代理模式 定义 代理模式是为其它对象提供一种代理,以控制对被代理对象的访问。在访问对象时,引入一定程度的间接性,并通过此间接,附加多种用途。 适用场景 一般分为几种情况: 远程代理 为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在于不同空间的事实 虚拟代理 根据需要创建开销很大的对象 阅读全文
摘要:
工厂模式 定义: 工厂模式分为简单工厂模式,一般工厂模式和抽象工厂模式,用于封装对象的创建过程,将对象的创建延迟到子类中进行。这三种模式逐步抽象,并且更具一般性。 适用场景: 对象创建需要一系列步骤 根据不同的条件,创建不同的子类 代码实现 简单工厂模式的两种实现 Animal.java Cat.j 阅读全文