面向对象七大原则

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)
尽量使用合成/聚合达到复用,尽量少用继承。原则: 一个类中有另一个类的对象。
posted @ 2019-01-10 20:03 欲戴其冠必承其重 阅读(...) 评论(...) 编辑 收藏