不安分的黑娃
踏踏实实,坚持学习,慢慢就懂了~

OOD面向对象设计原则

  • 开放闭合原则 Opened Closed Principle

    对修改关闭,对扩展开放

    个人理解: 如果当前类提供的方法不满足需求,不要修改这个类,应该提供一个子类重写或补充新的方法.

  • 依赖倒置原则 Dependency Inversion Principle

    高层模块不该依赖于底层模块,二者都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象。

    个人理解:
    1. 当前类如果使用到其它类提供的方法,那么其它类需要通过构造器或方法传参传入进来,并不是直接 new .
    2. 通过构造器或方法传参传入其它类时,需要传入类对应的父类型或其实现的接口类型

  • 单一职责原则 Single Responsibility Principle

    每个类只负责单一的功能,切不可太多,并且一个类应当尽量把一个功能做到极致

    个人理解: 专人专事

  • Liscov替换原则 Liscov Substitution Principle

    一个子类应该可以替换掉父类并且可以正常工作

    个人理解: "正常工作"="代码正常运行无报错",由于子类能够重写父类方法而表现出不同的行为,所以会导致产生的结果不同.

  • 接口隔离原则 Interface Segregation Principle

    强调的是一个接口拥有的行为应该尽可能的小

    个人理解: 接口应该尽量细化,一个接口对应一个功能模块,同时接口里面的方法应该尽可能的少,使接口更加轻便灵活

  • 迪米特原则

    一个类,应该尽量不要知道其他类太多的东西,不要和陌生的类有太多的接触

    个人理解: 一个类提供的public方法尽量少,不需要其他类使用的方法需封装起来不允许其他类访问.

  • 七 合成复用原则(Composite/Aggregate Reuse Principle ,CARP)

    尽量使用对象组合,而不是继承来达到复用的目的。
    个人理解:Composite-组合,Aggregate-聚合达到复用的目的。

posted on 2021-07-13 23:01  不安分的黑娃  阅读(58)  评论(0编辑  收藏  举报