软件设计模式的原则
-
【单一原则】(Single Responsibility Principle):一个类或者一个方法只负责一项职责。
-
【里氏替换原则】(LSP liskov substitution principle):子类可以扩展父类的功能,但不能改变原有父类的功能。
-
【依赖倒置原则】(dependence inversion principle):面向接口编程,(通过接口作为参数实现应用场景)。
(1)抽象就是接口或者抽象类,细节就是实现类;
(2)上层模块不应该依赖下层模块,两者应依赖其抽象;
(3)抽象不应该依赖细节,细节应该依赖抽象。
注:通俗点就是说变量或者传参数,尽量使用抽象类,或者接口。
-
【接口隔离原则】(interface segregation principle):建立单一接口;(扩展为类也是一种接口,一切皆接口)
定义:a.客户端不应该依赖它不需要的接口;b.类之间依赖关系应该建立在最小的接口上;
简单理解:复杂的接口,根据业务拆分成多个简单接口;(对于有些业务的拆分多看看适配器的应用)
注:接口的设计粒度越小,系统越灵活,但是灵活的同时结构复杂性提高,开发难度也会变大,维护性降低;。
-
【迪米特原则】(law of demeter LOD):最少知道原则,尽量降低类与类之间的耦合,一个对象应该对其他对象有最少的了解。
-
【开闭原则】(open closed principle):对扩展开放,对修改闭合。