设计模式 | 使用场景 | 浓缩一句话伪代码 | 学习难度 |
---|---|---|---|
模板方法模式 | 规定好一套顺序执行的方法 | abstract class {final void func{} } | ⭐️ |
观察者模式 | 监听对象发生了改变 | setMsg{ myNotifyAll()} | ⭐️ ⭐️ ⭐️ |
代理模式模式 | 需要做出统一处理的时候(java 分为四种 静态 jdk CGLIB Javassit) | implements InvocationHandler | ⭐️ ⭐️ ⭐️ |
享元模式 | 防止同一个类 实例化相同的对象 | xxxMap.get(); | ⭐️ |
策略模式 | 实际上就是利用多态 传入什么对象 就使用什么方法 | Context(IStrategy strategy) | ⭐️ ⭐️ |
单例模式 | 不解释 注意懒汉式 线程不安全 | 注意:双检锁/双重校验锁 DCL | ⭐️ ⭐️ |
工厂模式 | 不解释 注意懒汉式 线程不安全 | 注意:双检锁/双重校验锁 DCL | ⭐️ ⭐️ |
https://blog.csdn.net/qq_49313444/article/details/107287544 工厂