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

面向对象设计原则和设计模式分类

面向对象设计六大原则SOLID

  • 单一职责原则(Single Responsibility Principle)
    就一个类而言,应该仅有一个引起它变化的原因。
  • 开闭原则(Open Close Principle)
    软件中的对象(类、模块、函数等)应该对于扩展是开放的,对于修改是封闭的。当软件需要变化时,我们应该尽量通过扩展的方式来实现变化,而不是通过修改已有的代码来实现。
  • 里氏替换原则(Liskov Substitution Principle)
    所有引用基类的地方必须能透明地使用其子类的对象。
  • 接口隔离原则(Interface Segregation Principle)
    客户端不应该依赖它不需要的接口,另一种定义是:类间的依赖关系应该建立在最小的接口上。
  • 依赖倒置原则(Dependence Inversion Principle)
    模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的。
  • 迪米特原则(Law of Demeter),也称为最小知识原则(Least Knowledge Principle)
    一个对象应该对其他对象有最少的了解。

设计模式分类

设计模式依据其目的可分为创建型结构型行为型三种。

1、 创建型设计模式(5个)

  • 工厂模式(Factory Method)
  • 抽象工厂模式(Abstract Factory)
  • 单例模式(Singleton)
  • 原型模式(Prototype)
  • 构建者模式(Builder)

2、结构型设计模式(7个)

  • 组合模式(Composite)
  • 享元模式(Flyweight)
  • 适配器模式(Adapter)
  • 代理模式(Proxy)
  • 桥接模式(Bridge)
  • 装饰模式(Decorator)
  • 外观模式(Facade)

3、行为型设计模式(11个)

  • 命令模式(Command)
  • 状态模式(State)
  • 责任链模式(Chain of Responsibility)
  • 中介者模式(Mediator)
  • 访问者模式(Visitor)
  • 模版模式(Template Method)
  • 解释器模式(Interpreter)
  • 迭代器模式(Iterator)
  • 备忘录模式(Memento)
  • 观察者模式(Observer)
  • 策略模式(Strategy)
http://www.dtcms.com/a/302610.html

相关文章:

  • RTC时钟详解
  • 【智慧物联网平台】安装部署教程——仙盟创梦IDE
  • GitLab 公共仓库:coding 用到的 git 命令
  • PhpStorm + PHP8.1 + XDebug3 实现断点调试(亲测可用)
  • gitlab 在线合并分支a-分支b,解决冲突后,反向合并分支b-分支a
  • Vue 3 拖拽排序功能优化实现:从原理到实战应用
  • 8.1 ESP32CAM 服务器 网络摄像头
  • 本地大语言模型部署指南
  • TRIZ(5)——发明原理(3)
  • NVDB-CAVD 杯汽车信息安全系列赛事
  • 青少年编程中阶课
  • 【昆泰Chrontel CH7517A:DP转VGA】
  • Datawhale AI夏令营——列车信息智能问答——科大讯飞AI大赛(基于结构化数据的用户意图理解和知识问答挑战赛)
  • 在App Store Connect上编辑多个用户的访问权限
  • 医疗人工智能高质量数据集和语料库建设路径探析
  • 开始记录一步步学习pcl
  • Rust 最短路径、Tide、Partial、Yew、Leptos、数独实践案例
  • SpringCloud01——项目演变、微服务远程调用三种方式、springcloud介绍、nacos注册中心
  • 嵌入式开发学习———Linux环境下数据结构学习(四)
  • openlayer根据不同的状态显示不同的图层颜色
  • Java项目接口权限校验的灵活实现
  • AI学习之Cursor项目实战
  • ICPC 2024 网络赛(I)
  • 【大模型LLM】梯度累积(Gradient Accumulation)原理详解
  • linux I2C设备AW2013驱动示例
  • rhel网卡配置文件、网络常用命令、网卡名称优化和模拟不同网络区域通信
  • 服务器中的防火墙设置需要打开吗
  • 服务器查日志太慢,试试grep组合拳
  • 利用frp实现内网穿透功能(服务器)Linux、(内网)Windows
  • CentOS7 安装和配置教程