当前位置: 首页 > article >正文

一个系列搞懂23种设计模式

        本文是这一专栏的目录,设计模式的学习资料来自于刘伟老师的《Java设计模式》,结合我学习的理解,便有了这一系列,目前仍在持续更新

        23种设计模式可以分为以下三类:


1. 创建型模式

        对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离,对应单一职责原则。即创建什么?由谁创建?何时创建?(5种)

        单例模式

        原型模式

        工厂方法模式

工厂方法模式icon-default.png?t=O83Ahttps://blog.csdn.net/sniper_fandc/article/details/143374442?fromshare=blogdetail&sharetype=blogdetail&sharerId=143374442&sharerefer=PC&sharesource=sniper_fandc&sharefrom=from_link

        抽象工厂模式

抽象工厂模式icon-default.png?t=O83Ahttps://blog.csdn.net/sniper_fandc/article/details/143374624?fromshare=blogdetail&sharetype=blogdetail&sharerId=143374624&sharerefer=PC&sharesource=sniper_fandc&sharefrom=from_link

        建造者模式


2.结构型模式

        描述如何将类或对象结合一起组成更大的结构(7种)

        代理模式

        适配器模式

        桥接模式

        装饰模式

        外观模式

        享元模式

        组合模式


3.行为型模式

        描述类和对象之间怎样交互和分配职责,共同完成单个对象无法单独完成的任务的模式(11种)

        模板方法模式

        策略模式

        命令模式

        责任链模式

        状态模式

        观察者模式

        中介者模式

        迭代器模式

        访问者模式

        备忘录模式

        解释器模式


        除了上述23种设计模式,还有一些模式不归为这种分类方式,因为它们使用频率比较高,在日常编程中很多人已经使用了这种模式,但是并没有察觉到,在这里单列出来:

        简单工厂模式

简单工厂模式icon-default.png?t=O83Ahttps://blog.csdn.net/sniper_fandc/article/details/143374149?fromshare=blogdetail&sharetype=blogdetail&sharerId=143374149&sharerefer=PC&sharesource=sniper_fandc&sharefrom=from_link


http://www.kler.cn/a/376404.html

相关文章:

  • GEE 教程——将图像剪切成多边形,并保留内部部分。 图像将保留所有原始波段
  • 基于知识引导提示的因果概念提取(论文复现)
  • 基于ResNet50模型的船型识别与分类系统研究
  • SSM学习 day02
  • 企业出海网络:SD-WAN与专线混合组网方案
  • Python:入门基础
  • 服务器与服务器之间文件上传下载
  • 基于java的移动端自动化测试 - appium-client api -DesiredCapabilities属性有哪些?
  • Mac 配置SourceTree集成云效
  • uniapp 使用 websocket
  • 从方言对话这枚“落子”,看AI手机“棋局”的尴尬赛点
  • Ansible 部署应用
  • 数据结构(Java)—— 认识泛型
  • 河南省教育厅办公室关于举办2024年河南省高等职业教育技能大赛的通知
  • Java Collection/Executor DelayedWorkQueue 总结
  • MMSegmentation测试阶段推理速度非常慢的一种可能原因
  • 【前端基础】HTML 基础
  • 一文带你弄懂thermal governor IPA
  • 为什么大家都在学数字孪生呢?
  • Keras 3 示例:开启深度学习之旅
  • 【前端基础】CSS基础
  • Unity性能优化(简略版)
  • 刘艳兵-DBA023-控制文件是Oracle 数据库用来查找数据库文件,控制文件包含以下哪些信息:
  • 微信小程序 - 数组 push / unshift 追加后数组返回内容为数字(数组添加后打印结果为 Number 数值类型)
  • 现代卷积神经网络(GoogLeNet+批量归一化+ResNet)
  • https和http的区别,及HTTPS的工作流程