裴大头-秦可爱

裴大头-秦可爱

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

发表于 2023-08-31
裴大头
阅读量 952
更新于 2023-12-11

一、什么是设计模式

1、设计模式是在软件设计中反复出现的问题的通用解决方案。它们是经过多次验证和应用的指导原则,旨在帮助软件开发人员解决特定类型的问题,提高代码的可维护性、可扩展性和重用性。 2、设计模式是一种抽象化的思维方式,可以帮助开发人员更好地组织和设计他们的代码。它们提供了一种通用的框架,可以用于解决各种不同的软件设计问题。设计模式不是完整的代码,而是一种描述问题和解决方案之间关系的模板。 3、设计模式并不是一成不变的法则,而是根据不同的问题和情境来决定是否使用以及如何使用。了解和应用设计模式可以帮助开发人员更好地组织代码,提高代码的可读性和可维护性,同时也有助于促进团队之间的合作和沟通。

二、设计模式的分类

  1. 创建型模式(Creational):关注对象的实例化过程,包括了如何实例化对象、隐藏对象的创建细节等。常见的创建型模式有单例模式、工厂模式、抽象工厂模式等。
  2. 结构型模式(Structural):关注对象之间的组合方式,以达到构建更大结构的目标。这些模式帮助你定义对象之间的关系,从而实现更大的结构。常见的结构型模式有适配器模式、装饰器模式、代理模式等。
  3. 行为型模式(Behavioral):关注对象之间的通信方式,以及如何合作共同完成任务。这些模式涉及到对象之间的交互、责任分配等。常见的行为型模式有观察者模式、策略模式、命令模式等。

三、设计模式的六大原则

  1. 单一职责原则(SRP):一个类只应该有一个引起它变化的原因。
  2. 开放封闭原则(OCP):软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。
  3. 里氏替换原则(LSP):子类型必须能够替换掉它们的父类型。
  4. 依赖倒置原则(DIP):高层模块不应该依赖于低层模块,两者都应该依赖于抽象接口;抽象接口不应该依赖于具体实现,具体实现应该依赖于抽象接口。
  5. 接口隔离原则(ISP):不应该强迫一个类实现它不需要的接口,应该将接口拆分成更小和更具体的部分,以便客户端只需要知道它们感兴趣的部分。
  6. 迪米特法则(LOD):一个对象应该对其他对象有尽可能少的了解,通常称为“最少知识原则”。

四、种设计模式概览

image-1.png

五、详情(每种模式详情中包含源码)

  1. 工厂方法模式(Factory Method)
  2. 抽象工厂模式(Abstract Factory)
  3. 建造者模式(Builder)
  4. 原型模式(Prototype)
  5. 单例模式(Singleton)
  6. 适配器模式(Adapter)
  7. 桥接模式(Bridge)(待续···)
  8. 组合模式(Composite)
  9. 装饰模式(Decorator)(待续···)
  10. 外观模式(Facade)(待续···)
  11. 享元模式(Flyweight)(待续···)
  12. 代理模式(Proxy)(待续···)
  13. 解释器模式(Interpreter)(待续···)
  14. 模板方法模式(Template Method)(待续···)
  15. 责任链模式(Chain of Responsibility)(待续···)
  16. 命令模式(Command)(待续···)
  17. 迭代器模式(lterator)(待续···)
  18. 中介者模式(Mediator)(待续···)
  19. 备忘录模式(Memento)(待续···)
  20. 观察者模式(Observer)(待续···)
  21. 状态模式(State)(待续···)
  22. 策略模式(Strategy)(待续···)
  23. 访问者模式(Visitor)(待续···)
评论
来发一针见血的评论吧!
表情

快来发表评论吧~

推荐文章
  • JavaScript 的事件循环机制

    1点赞1评论

  • Element UI 级联选择器 el-cascader 实现懒加载和搜索功能

    1点赞0评论

  • Java 23种设计模式——适配器模式(Adapter)

    1点赞0评论

  • Vue项目代码规范

    1点赞1评论

  • Java 23种设计模式——组合模式(Composite Pattern)

    1点赞0评论

Crafted with by Pei你看雪

小破站居然运行了 1060 天访客 26888

© 2023 Pei你看雪鲁ICP备19037910号-2