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

设计模式

1.分类

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享
元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令
模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式

2.单例模式\

3.设计原则

1.单一职责原则SRP

一个对象只包含单一原则,并且职责被完整封装在一个类中
对一个类,应该仅有一个引起他变化的原因
一个类的职责(数据属性和方法)越多,复用可能性越低,且越耦合

2.开闭原则OCP

一个实体应该对扩展开发,对修改关闭,在设计模块时,应该在这个模块在不被修改前提下被扩展。
抽象化是开闭原则的关键,需要找到系统的可变因素并封装起来

3.里氏替换LSP

所有引用父类的地方必须能透明的使用子类的对象

4.依赖倒转原则DIP

高层模块不应该依赖底层模块,他们都应该依赖抽象,抽象不依赖细节,细节依赖于抽象。
针对接口编程,而不是实现
举例:策略层依赖机制层,机制层依赖工具层

5.接口隔离原则LSP

客户端不应该依赖不需要的接口
一旦一个接口太大,需要把他分割成更小的接口,使用该接口的客户端只需要知道与之相关的方法即可

6.迪米特法则LOD

一个软件实体应该尽可能少的与其他实体发生作用。当一个模块修改时,尽量少的影响其他模块。

7.合成复用接口原则CRP

尽量使用对象组合,而不是继承来到达复用的目的。

8.总结

对于一个类的设计主要遵循单一原则,类的变化点要满足开闭原则。
对应类的关系,首先要遵守迪米特法则,尽量少的相互关系。
对于发生关系的,要遵守依赖倒置原则,需要依赖抽象。
如果有依赖关系,注意接口隔离原则。
如果有复用的需要,优先使用关联关系而不是继承。
如果继承,满足里氏替换关系。

http://www.wxhsa.cn/company.asp?id=6775

相关文章:

  • Rhinoceros 8.23.25251.13001 犀牛3D建模
  • Git 常用操作指南
  • 《深入理解计算机系统》计算机系统漫游(一) - Invinc
  • 从几何分离到语义理解:深度解析3D点云分割与语义分割的本质区别
  • 欧拉筛(线性筛)算法分析
  • 2021年安徽省大数据与人工智能应用竞赛 大数据(网络赛)-高职组赛题
  • 一些写了和没写的数学!
  • 【光照】[自发光Emission]以UnityURP为例
  • mybatis-plus初体验,解决报错Invalid value type for attribute factoryBeanObjectType: java.lang.String
  • 04_UDP协议
  • 从0到1搭建数据分析自动化程序链,AI应用架构师的实战指南
  • IOS App技术支持网址(URL)
  • Alexandresku设计的loki小对象内存分配器
  • C++ 内存管理
  • 浅谈制氢电源及英飞凌解决方案
  • 微算法科技(NASDAQ:MLGO)研究分布式量子计算,释放量子计算潜能
  • AI 重塑招聘三角:Moka 招聘智能体如何实现 HR、候选人与企业的三方共赢
  • Flash Attention原理
  • MSMQ 跨服务器读写队列的“消息队列系统的访问被拒绝”的解决方案
  • opencv学习记录1
  • kylin V10SP3安装mysql5.7.42
  • MATLAB 仿真无线传感器网络(WSN)三大经典场景
  • 9.05 DP 专题
  • Linux时间同步---NTP时间同步方案
  • java预习
  • B/S体系结构风格
  • The 2024 CCPC Online Contest 7/12 L/B/K/D/J/E/C
  • 在joule里面使用agent 功能
  • Feign动态URL配置
  • 自动化部署工具 Jenkins 的安装与配置