1. 单一职责原则(Single Responsibility Principle)
每一个类应该专注于做一件事情。
降低类的复杂度,一个类只负责一项职责.提高类的可读性,提高系统的可维护性,
2. 里氏替换原则(Liskov Substitution Principle)
超类存在的地方,子类是可以替换的。
子类可以替换父类并且出现在父类能够出现的任何地方
3. 依赖倒置原则(Dependence Inversion Principle)
实现尽量依赖抽象,不依赖具体实现。
传统的结构化编程中,最上层的模块通常都要依赖下面的子模块来实现,也称为高层依赖低层
4. 接口隔离原则(Interface Segregation Principle)
应当为客户端提供尽可能小的单独的接口,而不是提供大的总的接口。
5. 迪米特法则(Law Of Demeter)
又叫最少知识原则,一个软件实体应当尽可能少的与其他实体发生相互作用。
类与类之间的关系越密切,耦合度也就越来越大,只有尽量降低类与类之间的耦合才符合设计模式
一个对象对另一个对象知道的越少越好,即一个软件实体应当尽可能少的与其他实体发生相互作用,在一个类里能少用多少其他类就少用多少,尤其是局部变量的依赖类,能省略尽量省略
6. 开闭原则(Open Close Principle)
面向扩展开放,面向修改关闭。
既开放又封闭,对扩展是开放的,对更改是封闭的!
扩展即扩展现行的模块,当我们软件的实际应用发生改变时,出现新的需求,就需要我们对模块进行扩展,使其能够满足新的需求!
更改封闭即是在我们对模块进行扩展时,勿需对源有程序代码和DLL进行修改或重新编译文件
7. 组合/聚合复用原则(Composite/Aggregate Reuse Principle CARP)
尽量使用合成/聚合达到复用,尽量少用继承。原则: 一个类中有另一个类的对象。
面向对象七大原则
原文:https://www.cnblogs.com/wj000121/p/10252124.html