思想架构Java基础Design Pattern

24种设计模式 极简笔记

2019-01-05  本文已影响492人  BzCoder

相关资料以及注意事项:


总体:


六大原则:


工厂模式 Factory

单例模式 Singleton

static final 变量的饿汉式可以通过添加以下方法防止序列化破环单例 。

/**
    * 涉及序列化和反序列化会破坏单例模式
    * @return
    */
   private Object readResolve(){
       return instance;
   }

在构造函数函数中添加以下判断防止反射破坏单例。

 public HungrySingleton() {
        if(instance!=null){
            throw new RuntimeException("单例构造器禁止反射");
        }
    }

建造者模式 Builder

原型模式 Prototype

适用对象构造时间消耗大的场景。通过实现clonable接口实现。

外观模式 门面模式 Facade

创建一个外观类来管理多个子系统,客户通过访问门面类来调用多个子系统,客户绝对不和子系统之间有交互。

装饰者模式 Decorator

在不改变原有对象的基础之上,将功能附加到对象上。一般基于接口或者一个抽象类。数据可以叠加积累。

适配器模式 Adapter

享元模式 Flyweight

组合模式 Composite

桥接模式 Bridge

代理模式 Proxy

如果对象没有实现接口,就必须使用CGLib实现动态代理。CGLib不能对final修饰的类进行代理。

模板模式 Template

迭代器模式 Iterator

策略模式 Strategy

解释器模式 Interpreter

观察者模式 Observer

备忘录模式 Memento

命令模式 Command

中介者模式 Mediator

责任链模式 Chain of Responsibility

访问者模式 Visitor

状态模式 State

上一篇下一篇

猜你喜欢

热点阅读