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

软件设计模式的原则

  1. 【单一原则】(Single Responsibility Principle):一个类或者一个方法只负责一项职责。

  2. 【里氏替换原则】(LSP liskov substitution principle):子类可以扩展父类的功能,但不能改变原有父类的功能。

  3. 【依赖倒置原则】(dependence inversion principle):面向接口编程,(通过接口作为参数实现应用场景)。

    (1)抽象就是接口或者抽象类,细节就是实现类;

    (2)上层模块不应该依赖下层模块,两者应依赖其抽象;

    (3)抽象不应该依赖细节,细节应该依赖抽象。

    注:通俗点就是说变量或者传参数,尽量使用抽象类,或者接口。

  4. 【接口隔离原则】(interface segregation principle):建立单一接口;(扩展为类也是一种接口,一切皆接口)

    定义:a.客户端不应该依赖它不需要的接口;b.类之间依赖关系应该建立在最小的接口上;

    简单理解:复杂的接口,根据业务拆分成多个简单接口;(对于有些业务的拆分多看看适配器的应用)

    注:接口的设计粒度越小,系统越灵活,但是灵活的同时结构复杂性提高,开发难度也会变大,维护性降低;。

  5. 【迪米特原则】(law of demeter LOD):最少知道原则,尽量降低类与类之间的耦合,一个对象应该对其他对象有最少的了解。

  6. 【开闭原则】(open closed principle):对扩展开放,对修改闭合。


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

相关文章:

  • dockerfile2.0
  • 数据仓库基础常见面试题
  • E12.【C语言】练习:求两个数的最大公约数
  • SSE部署后无法连接问题解决
  • 网络基础知识指南|1-20个
  • Ubuntu上,ffmpeg如何使用cuda硬件解码、编码、转码加速
  • pg_hba.conf是PostgreSQL中控制客户端认证和访问权限的配置文件
  • C# 将 List 转换为只读的 List
  • vue3 实现 “ fly-cut 在线视频剪辑 ”
  • 【MySQL】count(*)、count(1)和count(列名)区别
  • JAVA:利用 RabbitMQ 死信队列实现支付超时场景的技术指南
  • 第424场周赛:使数组元素等于零、零数组变换 Ⅰ、零数组变换 Ⅱ、最小化相邻元素的最大差值
  • OJ题目下篇
  • AI赋能下的美颜API与滤镜SDK:从传统到深度学习的进化之路
  • 深入理解 Python 的装饰器
  • Elasticsearch ES|QL 地理空间索引加入纽约犯罪地图
  • 计算机的错误计算(二百一十一)
  • 交互数字人:革新沟通的未来
  • Java Agent(三)、ASM 操作字节码入门
  • 【机器学习】神经网络训练技巧
  • 使用VSCode搭建Ruby on Rails集成开发环境
  • mac intel芯片下载安卓模拟器
  • 【css】浏览器强制设置元素状态(hover|focus……)
  • rclone,云存储备份和迁移的瑞士军刀,千字常文解析,附下载链接和安装操作步骤...
  • MAC AndroidStudio模拟器无网络
  • 新版懒人精灵基础老狼孩插件经典例子板块-视频教程