2021-01-20六大设计原则总结

1.单一职责原则(srp single responsibility principle) 

通过业务职责,业务功能进行接口的设计。理解为根据最小业务逻辑功能。做行为和属性的区分。来达到接口的单一职责。

2.里氏替换原则

定义:如果对每一个类型S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序p的行为没有发生变化,那么类型S是类型T的子类型。 

通俗理解就是父类在程序中任何地方出现,那么子类也可以出现。反之则不习惯,A是B的子类 那么在java中实例化可以 B  a = new A; 

3.依赖倒置原则(面向接口编程)

定义:1.高层模块不应该依赖底层模块,两者都应该依赖其抽象, 2.抽象不应该依赖细节。3.细节应该依赖抽象。

理解就是 一个功能模块是由子功能模块构成。那么同层模块之间通过抽象和接口进行构建依赖关系。那么子功能模块也是通过抽象和接口依赖高层模块。细节依赖抽象。 可以理解为 就是接口或者抽象类 和 他们实现类的关系。 

依赖的三种写法:构造函数依赖注入,setter 方法依赖注入,接口依赖注入。

4.接口隔离原则

接口隔离定义:客户端不应该依赖它不需要的接口 。类间的依赖关系应该建立在最小的接口上。

理解为:冗余不必要的接口要移除。接口尽量精简和少。

5.迪米特法则 Law of Demeter,LoD 最少原则

粗浅理解就是类内部除非必须曝露给其他实例的数据和方法,其他的不曝露出来。也就是低耦合 高类聚的一个表现。 

6.开闭原则

对变化采用扩展方式在适应变化,关闭对原有模块的修改。

你可能感兴趣的:(2021-01-20六大设计原则总结)