-
单一职责:
一个类的职责应该单一,一个类只负责一项职责。
-
里氏替换:
子类可以扩展父类的功能,但不能改变父类原有的功能。子类可以实现父类的抽象方法,但是不能覆盖非抽象方法。
-
迪米特法则:
一个对象应对其他对象保持最少的了解。这个说的就是面向对象特性的封装,每个类做好自己的封装,该暴露的对外暴露,该封装好的就应该在自己类封装好,避免不必要的对外暴露,所以外部对象的了解就会少些。主要讲的就是低耦合
-
依赖倒置:
高层依赖不应该依赖底层模块。面向接口编程,依赖接口而不要去依赖具体的实现。
-
接口隔离原则:
接口应该设计的更精简更具体,而不是把接口设计的行为很多,导致具体实现类需要实现不需要的行为方法。接口隔离原则和单一职责还是有区别,接口隔离主要是在接口的依赖上,而单一职责主要是在整个类职责上,也可以在类的方法上。
-
开-闭原则:
类对扩展开放,对修改封闭。当需要变化时,应该尽量通过扩展实体类的行为,而不是通过修改现有的代码来实现。
再回想一下前面说的5项原则,恰恰是告诉我们用抽象构建框架,用实现扩展细节的注意事项而已:单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。
网友评论