设计模式是为了使代码更容易维护和复用,它以面向对象的基本原则为指导,针对一些场景给出解决方法。设计模式遵循的原则主要有以下几条。
- 开闭原则(OCP)
开闭原则(Open Close Principle)指的是模块应该对扩展开放,对修改关闭,模块应该在不修改原代码的前提下进行扩展来适应需求的变更。
2. 里氏替换原则
所有使用父类的地方均可以用子类来替换。java就以这一原则为指导,因此我们在子类中重写父类的方法时只能扩大而不能缩小父类方法的访问权限。
3. 依赖倒置原则
抽象不应该依赖于实现细节,实现细节应该依赖于抽象。尽可能的引用高层次的类,将依赖置于接口上。在java中很多时候别人的方法只是返回List,我们不知道内部的实现使用哪一个具体的List,我们只需要调用List接口提供的方法进行后续操作即可,这便是依赖倒置原则的体现。
4. 接口隔离原则
每一个接口只担当一种角色,一个类根据具体的需求可以实现多个不同的接口,而不是实现一个庞大的承担多种角色的接口。
5. 组合/聚合复用原则
尽量少用继承,多用组合或聚合来实现代码的复用。
6. 迪米特法则
即“最小知识原则”,一个类尽可能少的与其它类发生作用,这样有利于达到低耦合。