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-聚合达到复用的目的。
本文来自博客园,作者:不安分的黑娃,转载请注明原文链接:https://www.cnblogs.com/lihw-study/p/15001127.html