美文网首页
面向对象六大原则

面向对象六大原则

作者: silence_J | 来源:发表于2020-04-16 09:37 被阅读0次

    指导思想

    1. 可维护性Maintainbility
      • 修改功能,需要改动的地方越少,可维护性越好
    2. 可复用性Reusability
      • 代码可以以后重复使用
      • 写出自己总结的类库
    3. 可扩展性Extensibility / Scalability
      • 添加功能无需修改原来代码
    4. 灵活性flexibility / mobility / adaptability
      • 代码接口可以灵活调用

    开闭原则 Open-Closed Principle

    • 对扩展开放,对修改关闭
      尽量不修改原来的代码的情况下进行扩展
    • 抽象化,多态是开闭原则的关键

    单一职责原则 Single Responsibility Principle

    • 一个类别太大,功能别太杂,负责单一的职责。
    • 高内聚低耦合。

    里氏替换原则 Liscov Substitution Princsiple

    • 所有使用父类的地方,必须能够透明地使用子类对象

    依赖倒置原则 Dependency Inversion Principle

    • 依赖抽象,而不是依赖具体
    • 面向抽象编程

    接口隔离原则 Interface Segregation Principle

    • 每个接口应该承担独立的角色,不干自己不该干的事
      如Flyable Runnable接口不该合二为一;
      避免子类实现不需要实现的方法;
      需要对客户提供接口时,只需要暴露最小的接口。

    迪米特法则 Law of Demeter

    • 和其它类的耦合度变低
    • 尽量不要和陌生人说话
    • 再迪米特法则中,对于一个对象,非陌生人包括以下几类:
      当前对象本身this;
      以参数形式传入到当前对象方法中的对象;
      当前对象的成员对象;
      如果当前对象的成员对象是一个集合,那么集合中的元素也都是朋友;
      当前对象所创建的对象。

    总结

    OCP 开闭原则:总纲,对扩展开放,对修改关闭
    SRP 单一职责原则:类的职责要单一
    LSP 里氏替换原则:子类可以透明替换父类
    DIP 依赖倒置原则:面向接口编程
    ISP 接口隔离原则:接口的职责要单一
    LoD 迪米特法则:降低耦合

    相关文章

      网友评论

          本文标题:面向对象六大原则

          本文链接:https://www.haomeiwen.com/subject/szqkvhtx.html