架构设计模式—6大设计原则
架构设计原则
6大设计原则
Single Responsibility Principle : 单一职责原则
Liskov Substitution Principle : 里氏替换原则
Dependence Inversion Principle :依赖倒置原则
Interface Segregation Principle : 接口隔离原则
Law of Demeter : 迪米特法则
Open Closed Principle : 开闭原则
软件开发之所以会有这些原则,就是因为复杂多变且不可预料的需求。并不是说在实际项目开发中对这六大原则中的每一条都遵循到极致,而是说在项目开发的过程中,根据项目的实际需求尽量的去遵守这些原则。当然要做到这些肯定是不容易的,能真正做到并且做好的恐怕也只能是有经验之人。
高内聚低耦合(High cohesion and low coupling)
什么是高内聚、低耦合?
问题场景:
模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。
耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
耦合性分类(低―高)
1 无直接耦合:
2 数据耦合: 指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递;
3 标记耦合: 指两个模块之间传递的是数据结构&#x
架构设计模式—6大设计原则相关推荐
- 设计模式01-七大设计原则
设计模式01-七大设计原则 文章目录 设计模式01-七大设计原则 开闭原则-Open Close 依赖倒置原则-Dependence Inversion 单一职责原则-Simple ResponsiB ...
- 设计模式 — 6大设计原则(依赖倒置和接口隔离原则)
设计模式 依赖倒置原则 示例 一 示例 二 依赖的三种写法 总结 接口隔离原则 实例 一 总结 依赖倒置原则 依赖倒置原则(Dependence Inversion Principle,DIP)这个名 ...
- 设计模式-6大设计原则
我们在应用程序开发中,一般要求尽量两做到可维护性和可复用性. 应用程序的复用可以提高应用程序的开发效率和质量,节约开发成本,恰当的复用还可以改善系统的可维护性.而在面向对象的设计里面,可 ...
- Java架构师必须知道的 6 大设计原则
转载自 Java架构师必须知道的 6 大设计原则 在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式, 不管用什么语言做开发,都将对我们系统设计和开发提供指导意义.本文主要将总结这些常见 ...
- C++ 设计模式(8大设计原则、23种设计模式)李建忠
简 述: 设计模式,久闻大名.此记录学习 "C++ 设计模式 李建忠" 的札记,核心共 8大设计原则.23中设计模式.后发现 GitHub 也有类似笔记 Ref1 .Ref2 相关 ...
- 设计模式之禅《一》 大旗不挥,谁敢冲锋 ——6大设计原则
设计模式之禅<一>大旗不挥,谁敢冲锋 --6大设计原则 <一> 六大原则 一:单一职责原则 1.单一职责原则最难划分的就是职责 2.有两个可以变化的原因放到了一个接口中,这就为 ...
- Java 6大设计原则28大设计模式
6大设计原则: 1. 单一职责原则 单一职责原则的英文名称是 Single Responsibility Principle ,简称是SRP(There should never be more th ...
- 设计模式概述—6大设计原则
第一部分:6大设计原则 六大设计原则: 1)Single Responsibility Principle:单一职责原则 2)Open Closed Principle:开闭原则 3)Liskov S ...
- Java设计模式GOF之6大设计原则
Java设计模式GOF之6大设计原则原则 1.开闭原则(Open Close Principle) 一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 开闭原则是面向对象的可复用设计的第一块基石 ...
最新文章
- HDU - 2767 Proving Equivalences tanjar强连通-DAG性质
- 获取手机当前显示的ViewController
- 浅谈万进制算法与大数定理的结合(高精度乘除法,阶乘)
- Atitit.遍历图像像素点rgb java attilax总结
- android微信风格,Android开发实现模仿微信小窗口功能【Dialog对话框风格窗口】
- webservice实例java_Java WebService(实战) 简单实例
- layui跨域问题的解决
- 对于根目录磁盘满的了问题
- 经纬度WGS84地理坐标系转换成CGCS2000坐标系步骤
- 13电路交换、报文交换、分组交换原理
- cmt obm odm 代工模式oem_ODM/OEM/OBM的区别
- 对索引存储与散列存储的一些形而上的思考
- [poj3130][半平面交]How I Mathematician Wonder What You Are!
- operands could not be broadcast together with remapped shapes
- 全国计算机四级网络工程师教程,全国计算机等级考试立体化应试教程——四级网络工程师...
- C# 如何减少装箱拆箱
- 循环中continue用法
- MATLAB读dat文件中存储的十六进制数
- 数值分析北航第八题第三次计算实习任务(附百度云源码java版)
- 基于LEAP模型的能源环境发展、碳排放建模预测及不确定性分析实践应用