# design-pattern **Repository Path**: ws_developer/design-pattern ## Basic Information - **Project Name**: design-pattern - **Description**: Java设计模式 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-12-12 - **Last Updated**: 2024-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 设计模式七大原则 ## 01.开闭原则(Open-Close principle,OCP) ## 02.依赖倒置原则(Dependence Inversion Principle,DIP) ## 03.单一职责(Simple Responsibility Pinciple,SRP) ## 04.接口隔离原则(Interface Segregation Principle, ISP) ## 05.迪米特原则(最少知道原则)(Law of Demeter LoD) ## 06.里氏替换原则(Liskov Substitution Principle,LSP) ## 07.合成复用原则(Composite Aggregate Reuse Principle,CARP) # GOF 23种设计模式的归纳 分类 | 作用 | 设计模式 ---|---|--- 创建型 |对象实例化的模式,用于解耦对象的实例化过程 |工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、单例模式(Singleton)、
原型模式(Prototype)、建造者模式(Builder) 结构型 |把类或对象结合在一起形成一个更大的结构 |代理模式(Proxy)、门面模式(Facade)、装饰器模式(Decorator)、享元模式(Flyweight)、
组合模式(Composite)、适配器模式(Adapter)、桥接模式(Bridge) 行为型 |类和对象如何交互,及划分责任和算法 |模板方法模式(Template Method)、策略模式(Strategy)、责任链模式(Chain of Responsibility)、
迭代器模式(Iterator)、命令模式(Command)、状态模式(State)、备忘录模式(Memento)、
中介者模式(Mediator)、解释器模式(Interpreter)、观察者模式(Observer)、访问者模式(Visitor) # JAVA设计模式 # A.创建型模式 > 对象实例化的模式,创建型模式用于解耦对象的实例化过程。 ## 01.工厂模式(Factory Pattern) ### 1.1 简单工厂(Simple Factory) ### 1.1 工厂方法(Factory Method)[GOF23] ### 1.1 抽象工厂(Abstract Factory)[GOF23] ## 02.单例模式(Singleton Pattern)[GOF23] ### 2.1 饿汉式 #### 2.1.1 静态实例对象 #### 2.1.1 静态代码块 ### 2.2 懒汉式 #### 2.2.1 双重检查锁 #### 2.2.2 静态内部类 ### 2.3 反射破坏单例并解决 ### 2.4 序列化破坏单例并解决 ### 2.5 注册式 #### 2.5.1 枚举单例并反射/序列化测试 #### 2.5.2 容器缓存单例 ### 2.6 ThreadLocal线程单例 ## 03.原型模式(Prototype Pattern)[GOF23] ### 3.1 浅克隆 ### 3.2 深克隆 ## 04.建造者模式(Builder Pattern)[GOF23] ### 4.1 通用写法 ### 4.2 链式写法 # B.结构型模式 > 把类或对象结合在一起形成一个更大的结构。 ## 05.代理模式(Proxy Pattern)[GOF23] ### 5.1 静态代理 ### 5.2 动态代理 #### 5.2.1 JDK动态代理 #### 5.2.2 CGlib动态代理 ## 06.门面(外观)模式(Facade Pattern)[GOF23] ## 07.装饰器模式(Decorator Pattern)[GOF23] ## 08.享元模式(flyweight pattern)[GOF23] ## 09.组合模式(Composite pattern)[GOF23] ### 9.1 透明模式 ### 9.2 安全模式 ## 10.适配器模式(Adapter Pattern)[GOF23] ### 10.1 类适配器 ### 10.2 对象适配器 ### 10.3 接口适配器 ## 11.桥接模式(Bridge Pattern)[GOF23] # C.行为型模式 > 类和对象如何交互,及划分责任和算法。 ## 12.委派模式(Delegate Pattern) > 又叫委托模式,是一种面向对象的设计模式,允许对象组合实现与 继承相同的代码重用。
它的基本作用就是负责任务的调用和分配任务,是一种特殊的静态代理,可以理 解为全权代理,但是代理模式注重过程,而委派模式注重结果。
委派模式属于行为型模式,但不属于GOF23种设计模式中。 ## 13.模板模式(Template Pattern)[GOF23] ## 14.策略模式(Strategy Pattern)[GOF23] ## 15.责任链模式(Chain Pattern)[GOF23] ## 16.迭代器模式(Iterator Pattern)[GOF23] ## 17.命令模式(Command Pattern)[GOF23] ## 18.状态模式(State Pattern)[GOF23] ## 19.备忘录模式(Memento Pattern)[GOF23] ## 20.中介者模式(Mediator Pattern)[GOF23] ## 21.解释器模式(Interpreter Pattern)[GOF23] ## 22.观察者模式(Observer Pattern)[GOF23] ## 23.访问者模式(Visitor Pattern)[GOF23]