Skip to content

Latest commit

 

History

History
49 lines (32 loc) · 2.17 KB

01-设计原则.md

File metadata and controls

49 lines (32 loc) · 2.17 KB

设计原则

设计模式要遵循基本的设计准则:

  • 可维护性 软件能够被理解、改正、适应及扩展的难易程度
  • 可复用性 软件能够被复用的难易程度

面向对象设计原则

单一职责原则

  • 一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中
  • 就一个类而言,应该仅有一个引起它变化的原因

设计软件系统中各模块时应注意高内聚低耦合

  • 高内聚: 职责相关性和集中度的度量
  • 低耦合: 各模块建相互关联的度量

单一职责原则用于控制类的力度即大小

开闭原则

软件实体应对扩展开放,对修改关闭.该原则关键在于抽象化, 可为系统定义一个相对稳定的抽象层,将不同的实现行为放到具体的实现层中完成.

里氏代换原则

所有引用基类的地方必须能透明地使用其子类的对象 设计时,尽量使用基类类型来定义对象,运行时再确定子类类型.侧重于运行层面;运行时,确定实现类型

依赖倒转原则

高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。侧重于设计层面

  • 要求针对接口编程,不要针对实现编程
  • 用接口或抽象类来声明变量类型、参数类型声明、方法返回类型声明,以及数据类型转换等,而不要使用具体类来做这些事情

接口隔离原则

客户端不应该依赖那些它不需要的接口 接口不宜过大,应使每个接口仅承担一个相对独立的角色或功能,使用该接口的客户端仅需知道与之相关的方法即可。

合成复用原则

优先使用对象组合,而不是通过继承来达到复用的目的

  • 黑箱复用 - 对象组合
  • 白箱复用 - 继承

迪米特法则

也称最少知识原则,每一个软件单位对其他单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位

  • 在类的划分上应尽量创建松耦合的类,类之间的耦合度越低,越有利于复用
  • 类的结构设计上,每一个类都应该降低其成员变量和成员函数的访问权限