6种设计原则
1.SOILD原则
a.单一职责原则
问题:
1.为了只用很少的代码实现复杂的设计,需要耗费心机
2.当程序规模不断扩大,变更不端增加后,类会变得很复杂,很难记住里面的细节
3. 当类负责的东西越多的时候,可能会对类有修改
b.开闭原则
对扩展是开放的,对于一个类的修改,可以通过类的继承,来进行实现扩展。对修改是关闭的,类已做好了充分的准备,并可供其他类使用。
c.里氏替换原则
1.子类的参数类型 必须要跟超类的参数类型相匹配或者更加抽象
2.子类方法返回值类型,必须跟超类方法的返回值类型或者其子类型相匹配
3.子类中的方法不应该抛出基础方法预期之外的方法类型
4.子类不应该加强其前置条件:子类不能削弱其后置条件
5.超类的不变类 必须保留
d.接口隔离原则
1.客户端不应该依赖于其不使用的方法
2.尽量缩小接口的范围,使得客户端的类不必实现其不需要的行为
e.依赖倒置原则
1.高层模块不应该依赖于底层模块,两者都应该依赖于抽象
2.抽象不应该依赖于细节,细节应该依赖于抽象