随笔分类 - 设计模式
摘要:定义:在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。类似发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息 四种角色:抽象被观察者角色 抽象观察者角色 具体被观察者角色 具体观察者角色 小Demo走一波 1、定义Obs
阅读全文
摘要:定义一系列算法,将每一个算法封装起来,并让他们可以相互替换。 1、定义一个抽象策略类 /** * 定义一个购买球的策略类 * @author Tim * */ public interface Ball { public double price(double price); } 2、定义二种具体的
阅读全文
摘要:* 模板模式: * 完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同; * 可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步骤的实现方法。 * 每个步骤的具体实现,由子类完成 1、定义银行业务处理抽象类 public abstract class
阅读全文
摘要:定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。将建造复杂对象的过程和组成对象的部件解耦。 包含如下几种角色: Builder:抽象建造者(Builder) ConcreteBuilder:具体建造者(CommonBuilder、SuperBuilder) Direc
阅读全文
摘要:抽象工厂包含如下角色: AbstractFactory(抽象工厂):用于声明生成抽象产品的方法 ConcreteFactory(具体工厂):实现了抽象工厂声明的生成抽象产品的方法,生成一组具体产品,这些产品构成了一个产品族,每一个产品都位于某个产品等级结构中; AbstractProduct(抽象产
阅读全文
摘要:最简单版(饿汉式)。 通过static的静态初始化方式,在该类第一次被加载的时候,该对象的实例就被创建出来了 第一种方式,如果较多的单例采用上述方式的话,可以回造成不必要的浪费。可采用另外两种方式来避免该种情况 静态内部类方式,通过显式调用方法是,才会装载单例对象,从而实例化 懒汉模式方式 网上说序
阅读全文