随笔分类 -  设计模式

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

点击右上角即可分享
微信分享提示