设计原则

1.单一职责原则SRP

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

2.开闭原则OCP

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

3.里氏替换LSP

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

4.依赖倒转原则DIP

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

5.接口隔离原则LSP

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

6.迪米特法则LOD

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

7.合成复用接口原则CRP

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

8.总结

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

posted @   lwx_R  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示