设计模式的介绍

一、核心思想

单一职责原则

一个类只干一件事。一个类只负责一个模块上的事情。

开闭原则

对扩展开放,对修改关闭。(加新的功能不动老的代码)

里氏替换原则

子类对象必须能够替换掉父类对象,并保持原有功能不变。

依赖倒置原则

高层模块不应该依赖低层模块,两者都应该依赖抽象。

接口隔离原则

接口要小而精,不要大而全。

迪米特法则(最少知道原则)

只和直接相关的类交流,尽量减少对外部对象内部细节的依赖。

设计模式本质上是在帮我们实践这些设计原则,让系统更健壮、更灵活、更可扩展。

设计模式的分类

  • 创建型模式:关注对象如何创建
  • 结构性模式:关注类与类,对象与对象之间如何组合。
  • 行为型模式:关注对象之间如何协作和通信。

学习建议

  1. 对设计模式的学习和其他知识一样,先了解每种设计模式是什么?作用是什么?能够解决什么问题?适用于什么场景?有什么特点?类和对象的关系是什么(建议结合UML 类图来理解)?再去考虑编码实现和进一步在项目中应用。
  2. 一定要多写代码实践,最好每个设计模式都实现一遍,不要去背代码,用的多了自然就能写出代码了。
  3. 每个设计模式都可以 独立学习,互相之间联系不大,因此可以根据自己的时间来选择性学习(比如先学重点的单例模式)。
  4. 在学会基础的设计模式后,可以分析之前学过的框架源码(比如 Spring、MyBatis 等),参考别人是如何应用设计模式的。
  5. 不要过度依赖设计模式!!!!!! 它并不是银弹,过分使用设计模式可能只会增加系统的复杂度。
相关推荐
geovindu13 小时前
CSharp:Chain of Responsibility Pattern
开发语言·后端·设计模式·c#·.net·责任链模式·行为模式
梓仁沐白16 小时前
【Agent 设计模式】多智能体协作
microsoft·设计模式·php
努力学习的廖同学16 小时前
前端进阶-设计模式
设计模式
workflower2 天前
情境感知系统
人工智能·机器学习·设计模式·自然语言处理·机器人
咖啡八杯2 天前
设计模式中的原则
设计模式·接口隔离原则·里氏替换原则·开闭原则·合成复用原则·单一职责原则
安冬的码畜日常2 天前
【工欲善其事】深入理解 Node.js 带并发上限的异步任务批量执行逻辑
javascript·设计模式·node.js·ai编程·异步编程·并发执行
AI大法师2 天前
一个机场如何被做成 IP 场景:宝可梦机场的设计方法总结
大数据·人工智能·设计模式·新媒体运营
晚安code2 天前
干掉成山的 if-else:工厂造、策略选,一文讲透两个模式的配合
后端·设计模式
workflower3 天前
从幻觉,到现实
人工智能·深度学习·机器学习·设计模式·机器人
电子科技圈3 天前
第二代无线平台历久弥新,赋能物联网创新迭代
人工智能·嵌入式硬件·mcu·物联网·设计模式·硬件架构·iot