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

php java go python面向对象的设计原则和常用设计模式

一、面向对象设计原则(OOP Design Principles)

是写出高内聚、低耦合、可维护系统的基础,重点是 SOLID 五大原则 + 其他补充原则。

📌 SOLID 五大设计原则:

原则名称全称核心思想示例关键词
S 单一职责原则Single Responsibility Principle一个类只负责一项职责拆分类、分离逻辑
O 开闭原则Open-Closed Principle对扩展开放,对修改关闭插件式架构
L 里氏替换原则Liskov Substitution Principle子类应能替代父类多态、接口隔离
I 接口隔离原则Interface Segregation Principle客户端不应依赖它不使用的方法多个小接口
D 依赖倒置原则Dependency Inversion Principle高层模块不依赖低层模块,依赖抽象接口注入、构造注入


📌 其他常见设计原则:

原则名称核心思想示例
迪米特法则(最少知道原则)一个对象应当尽量少了解其他对象的内部细节避免链式调用 $a->b->c()
组合优于继承多用组合(has-a),少用继承(is-a)优先注入依赖而不是继承
封装变化把可能变化的部分封装起来策略模式、适配器模式等


二、常用设计模式(Design Patterns)

解决特定软件开发问题的通用方案

分为三大类:

创建型

结构型

行为型


🔷 1. 创建型模式(解决“如何创建对象”)

模式名称作用示例场景
单例模式保证一个类只有一个实例数据库连接、配置管理
工厂模式统一对象创建过程支付网关、消息驱动
抽象工厂模式创建一组相关对象UI组件、操作系统接口
建造者模式按步骤构建复杂对象报表生成器
原型模式通过复制已有对象创建新对象复制模板对象


🔷 2. 结构型模式(解决“如何组织类与对象”)

模式名称作用示例场景
适配器模式兼容不同接口第三方 SDK 封装
装饰器模式动态添加功能Laravel 中间件
代理模式控制对对象的访问延迟加载、权限控制
外观模式提供简化统一接口Laravel 门面
桥接模式解耦抽象与实现不同平台 UI 样式分离
组合模式组织树状结构目录结构、菜单组件
享元模式共享对象以节省内存字体、图标缓存


🔷 3. 行为型模式(解决“对象如何交互”)

模式名称作用示例场景
观察者模式发布-订阅Laravel 事件监听器
策略模式可切换算法多种支付/排序/折扣策略
模板方法模式固定流程,子类定细节控制器继承基础逻辑
责任链模式多个对象依次处理请求Laravel 中间件链
命令模式封装请求为对象队列任务、撤销操作
状态模式封装状态和行为订单状态机
备忘录模式保存对象历史状态撤销、版本恢复
迭代器模式顺序访问集合元素遍历集合对象
解释器模式解析语言语法表达式SQL/规则引擎解析器
中介者模式降低对象间耦合聊天系统、表单校验中介者


 三、应用建议

场景建议使用
业务逻辑解耦观察者、策略、模板方法
接入第三方服务适配器、代理、外观
增加功能但不改原类装饰器、责任链
对象创建复杂建造者、工厂、抽象工厂
系统模块间解耦中介者、桥接、外观

相关文章:

  • Ubuntu 22.04 出现 ‘Temporary failure resolving‘ 解决方案
  • 什么是死信队列?死信队列是如何导致的?
  • 〖 Linux 〗解决 VS Code 远程连接服务器的常见问题
  • 使用Scrapeless Scraping Browser的自动化和网页抓取最佳实践
  • SM2Utils NoSuchMethodError: org.bouncycastle.math.ec.ECFieldElement$Fp.<init
  • React 笔记[1] hello world
  • 画流程超神组合deepseek + UML
  • leaflet-velocity风场粒子效果及数据处理
  • 阿里云 golang 一面
  • 在Git历史中移除现有的Commit
  • 云原生架构实战:打造高可用、可扩展的现代应用体系
  • 电力电子simulink练习08:闭环控制的引入与PI调节器
  • Oracle EBS AP发票被预付款核算创建会计科目时间超长
  • 基于主成分分析(PCA)的数据降维
  • Off-Policy策略演员评论家算法SAC详解:python从零实现
  • SAM详解2.1(好题1)
  • 安卓基础(XML)
  • 六、Hadoop初始化与启动
  • 前端面经--网络通信与后端协作篇--XMLHttpRequest、axios、fetch、AbortController
  • Java 对象克隆(Object Cloning)详解
  • 纪念|古文字学泰斗裘锡圭:“还有很多事情要做”
  • 来论|建设性推进缅北和平进程——中国的智慧与担当
  • 东莞“超级”音乐节五一出圈背后:文旅热力何以澎湃经济脉动
  • 越秀地产前4个月销售额约411.2亿元,达年度销售目标的34.1%
  • 绍兴柯桥:用一块布托起中国制造的新经纬
  • 巴基斯坦信德省卡拉奇发生爆炸