首页 > 系统 > Android > 正文

《Android源码设计模式》 面向对象六大原则

2019-11-08 00:29:57
字体:
来源:转载
供稿:网友

1. 单一职责原则(Single Responsibility PRinciple)

定义: 一个类中应该是一组相关性很高的函数,对相关性很高的数据进行封装。因为单一职责的划分界限并不总是那么清晰,很多时候都需要个人经验来界定。界定该类的职责,和怎么划分类的职责。

2. 开闭原则(Open Close Principle)

定义: 软件中的对象(类、模块、函数等)应该对扩展开放,对修改封闭。它是java里最基础的设计原则,它指导我们如何建立一个稳定的、灵活的系统,应该尽量通过扩展的方式来实现变化,而不是通过修改已有的代码来实现。应该尽量:当我们嗅到原来的代码腐化气味时,应该尽早的重构,以便使代码恢复到正常的进化过程,而不是通过继承等方式实现,这会导致类型的膨胀以及历史遗留代码的冗余。

3. 里氏替换原则(Liskov Substituion Principle)

定义:所有引用基类的地方必须能透明地使用其子类对象。通俗一点,只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常。里氏替换原则就为这类问题提供了指导原则,也就是建立抽象,通过抽象建立规范,具体的实现在运行时替换掉抽象,保证系统的扩展性、灵活性。

4. 依赖倒置原则(Dependence Inversion Principle)

定义:指代了一种特定的解耦形式,使高层次的模块不依赖于低层次模块的实现细节。在Java中表现:模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的。

5. 接口隔离原则(InterfaceSegregation Principle)

定义: 类间的依赖关系应该建立在最小的接口上。

6. 迪米特原则(Least Knowledge Principle)

定义: 一个对象应该对其他对象有最少的了解。通俗一点,一个类应该对自己需要耦合或调用的类知道的最少,类的内部如何实现与调用者或者依赖没关系,调用者只需要知道它需要的方法即可。还有一个解释:Only talk to your immediate friends. 只与直接的朋友通信。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表