# design-pattern **Repository Path**: xh-java-base/design-pattern ## Basic Information - **Project Name**: design-pattern - **Description**: 设计模式 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-05-05 - **Last Updated**: 2021-05-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 七大设计职责原则 1. [单一职责原则](./md/principle/single/single.md) 2. [接口隔离原则](./md/principle/segregation/segregation.md) 3. [依赖倒转原则-重学](./md/principle/inversion/inversion.md) 4. [里氏替换原则-重学](./md/principle/liskov/liskov.md) 5. [开闭原则](./md/principle/open-closed/open-closed.md) 6. [迪米特法则](./md/principle/demeter/demeter.md) 7. [合成复用原则] 类 B 中想使用类 A 中的方法 ``` class A { void m1() {} } class B {} ``` 继承 - 耦合性强 依赖 ``` class B { void m2(A a) {a.m1();}} ``` 聚合 ``` class B { A a; // setter} ``` 合成 组合 ``` class B { A a = new A();} ``` # 创建型模式 1. [单例模式](./md/create/singleton/singleton.md) 2. [简单工厂方法](./md/create/factory/simple/simple.md) 3. [原型模式(clone、浅拷贝、深拷贝)](./md/create/prototype/prototype.md) 4. 建造者模式 # 结构型模式 1. [适配器模式](./md/structure/adapter/adapter.md) 2. [桥接模式](./md/structure/bridge/bridge.md) 3. [装饰模式](./md/structure/decorator/decorator.md) 4. [组合模式](./md/structure/composite/composite.md) 5. [外观(门面)模式](./md/structure/facade/facade.md) 6. [享元模式](./md/structure/flyweight/flyweight.md) 7. 代理模式 # 行为型模式 1. 模版方法模式 2. [命令模式](./md/behavioral/command/command.md) 3. [访问者模式](./md/behavioral/visitor/visitor.md) 4. [迭代器模式](./md/behavioral/iterator/iterator.md) 5. [观察者模式](./md/behavioral/observer/observer.md) 6. [中介者模式](./md/behavioral/mediator/mediator.md) 7. [备忘录模式](./md/behavioral/memento/memento.md) 8. [解释器模式](./md/behavioral/interpreter/interpreter.md) 9. [状态模式](./md/behavioral/state/state.md) 10. [策略模式-](./md/behavioral/strategy/strategy.md) 11. [职责链模式(责任链模式)](./md/behavioral/chain-of-responsibility/chain-of-responsibility.md) # 设计模式相关 1. [策略模式](./strategy-pattern/README.md) 2. [观察者模式](./observable-pattern/README.md) 类图相关 1. https://online.visual-paradigm.com/cn/pricing/ 2. 类图及绘制工具:StarUML 3. Microsoft Visio 4. EA工具绘制UML图。Enterprise Architect (推荐) 5. PowerDesigner 工具绘制UML图形 6. Eclipse中的Green插件 7. PlantUML(pass,需要些代码) 8. UML Designer(pass 就是eclipse) 9. 开源的Open ModelSphere工具