6种设计原则

1.SOILD原则

a.单一职责原则

问题:

1.为了只用很少的代码实现复杂的设计,需要耗费心机

2.当程序规模不断扩大,变更不端增加后,类会变得很复杂,很难记住里面的细节

3. 当类负责的东西越多的时候,可能会对类有修改

b.开闭原则

对扩展是开放的,对于一个类的修改,可以通过类的继承,来进行实现扩展。对修改是关闭的,类已做好了充分的准备,并可供其他类使用。

c.里氏替换原则

1.子类的参数类型 必须要跟超类的参数类型相匹配或者更加抽象

2.子类方法返回值类型,必须跟超类方法的返回值类型或者其子类型相匹配

3.子类中的方法不应该抛出基础方法预期之外的方法类型

4.子类不应该加强其前置条件:子类不能削弱其后置条件

5.超类的不变类 必须保留

d.接口隔离原则

1.客户端不应该依赖于其不使用的方法

2.尽量缩小接口的范围,使得客户端的类不必实现其不需要的行为

e.依赖倒置原则

1.高层模块不应该依赖于底层模块,两者都应该依赖于抽象

2.抽象不应该依赖于细节,细节应该依赖于抽象

2.迪米特原则