设计模式七大原则

单一职责原则

  • 一个类(一个方法,一个框架)只负责一件事;

接口隔离原则

  • 应该创建多个专门的接口,避免创建一个总接口;

依赖倒转原则

  • 上层不能依赖于下层,他们都应该依赖其抽象;

里氏替换原则

  • 可以用父类对象的地方,当然可以替换成子类对象,程序不会发生错误(语法不会报错,逻辑不会出现错误);

开闭原则

  • 对扩展开放,对修改关闭;

迪米特法则(最少知道原则)

  • 一个类对其他类知道的越少越好(封装),只和朋友通信,朋友即是成员变量,参数,返回值,方法中自己创建的对象;

合成复用原则(组合优于继承)

  • 如果子类和父类的作者是同一个人,则可以使用继承,毕竟是同一个人,好把控。
  • 如果子类和父类的作者不是同一个人,则不建议使用继承,因为父类作者不知道子类会重写自己的什么方法,用户也不知道未来的作者会在父类中添加什么方法;
  • 方法重写的弊端:一旦重写了父类的某一个方法,则父类中其他依赖于此方法中的方法,有可能报错。
  • 如果为了重用某些方法,而让子类去重写父类,则子类也会继承那些子类不需要的方法,这些方法可能破坏子类的逻辑。比如jdk中的stack就是一个很好的反例,因为本来是栈,应该先进后出,但是由于stack继承了vector,所以也可以通过get方法直接获取元素,破坏了栈的特点。
原文地址:https://www.cnblogs.com/kaka-qiqi/p/14810677.html