最近学习设计模式相关的知识,下面就自己的理解对设计模式叙述
设计模式原则模型图
单一职责原则:
一个类只负责一项职责,比如一个userController 负责用户相关的相关的业务,orderController负责用户订单相关业务,将两个类整合到一起,也是完全可以的实现的
但是这样就不符合单一职责原
里氏替换原则:
子类继承父类的方法,可以增加自己特定的方法,但是不要覆盖父类方法,如果直接修改覆盖父类的方法里氏替换原则,
如:父类方法中有一个getName方法,子类想覆盖它,就需要修改相应的逻辑,可以增加一个getNewName()方法用于子类特定的逻辑
面向接口的编程:
定义接口,多实现类,以注解或者xml配置的形式进行绑定,这也是继承、多态的一种体现
接口隔离原则:
接口设计尽量细化到最小,将所有的实现类共性的方法抽取即可,某些实现类也存在部分共性的方法,但是不可抽象到接口中,因为始终存在不包含该方法的实现类,如果抽象到接口会造成代码和设计的冗余,不符合接口隔离原则。
可以重新定义一个接口用来抽象那部分共性的方法,因为接口是可以多继承的,
迪米特法则:
降低耦合,局部变量中不要引入新的类,所有类的引入尽量都在统一位置通过注解引入
开闭原则:
对外拓展开放,对内修改关闭,在新的需求到来时,尽量通过重新定义新的衍生类去实现,而不是在原来的衍生类上修改