Java 23种设计模式(含源码)

前言

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。

项目源码地址:https://github.com/WongMinHo/java-design-pattern

设计模式的六大原则

1、开闭原则(Open Close Principle)
对扩展开放,对修改关闭。
2、里氏代换原则(Liskov Substitution Principle)
只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。
3、依赖倒转原则(Dependence Inversion Principle)
这个是开闭原则的基础,对接口编程,依赖于抽象而不依赖于具体。
4、接口隔离原则(Interface Segregation Principle)
使用多个隔离的接口来降低耦合度。
5、迪米特法则(最少知道原则)(Demeter Principle)
一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。
6、合成复用原则(Composite Reuse Principle)
原则是尽量使用合成/聚合的方式,而不是使用继承。继承实际上破坏了类的封装性,超类的方法可能会被子类修改。

设计模式三大类

创建型模式:

  • 1. 设计模式 工厂模式(Factory Pattern)

  • 2. 设计模式 抽象工厂模式(Abstract Factory Pattern)

  • 3. 设计模式 单例设计模式(Singleton Pattern)

  • 4. 设计模式 建造者模式(Builder Pattern)

  • 5. 设计模式 原型模式(Prototype Pattern)

结构型模式:

  • 6. 设计模式 适配器模式(Adapter Pattern)

  • 7. 设计模式 桥接模式(Bridge Pattern)

  • 8. 设计模式 装饰器模式(Decorator Pattern)

  • 9. 设计模式 组合模式(Composite Pattern)

  • 10. 设计模式 外观模式(Facade Pattern)

  • 11. 设计模式 享元模式(Flyweight Pattern)

  • 12. 设计模式 代理模式(Proxy Pattern)

行为型模式:

  • 13. 设计模式 解释器模式(Interpreter Pattern)

  • 14. 设计模式 状态模式(State Pattern)

  • 15. 设计模式 策略模式(Strategy Pattern)

  • 16. 设计模式 模版方法模式(Template Method Pattern)

  • 17. 设计模式 命令模式(Command Pattern)

  • 18. 设计模式 迭代器模式(Iterator Pattern)

  • 19. 设计模式 观察者模式(Observer Pattern)

  • 20. 设计模式 中介者模式(Mediator Pattern)

  • 21. 设计模式 备忘录模式(Memento Pattern)

  • 22. 设计模式 责任链模式(Chain of Responsibility Pattern)

  • 23. 设计模式 访问者模式(Visitor Pattern)

Source Code

  • Factory
  • Abstract Factory
  • Singleton
  • Builder
  • Prototype
  • Adapter
  • Bridge
  • Decorator
  • Composite
  • Facade
  • Flyweight
  • Proxy
  • Interpreter
  • State
  • Strategy
  • Template Method
  • Iterator
  • Observer
  • Mediator
  • Memento
  • Chain of Responsibility
  • Visitor

Reference

  • CSDN:设计模式
  • 菜鸟教程:设计模式

你可能感兴趣的:(Java 23种设计模式(含源码))