Android APP开发实战:从规划到上线全程详解
上QQ阅读APP看书,第一时间看更新

9.2 面向对象设计原则

面向对象设计有6大原则,具体如下所述。

(1)单一职责原则(Single Responsibility Principle, SRP)

一个类应该是一组相关性很高的方法和数据的封装。

(2)开闭原则(Open Closed Principle, OCP)

开闭原则是说模块应对扩展开放,而对修改关闭,模块应尽量在不修改原(“原”是指原来的代码)代码的情况下进行扩展。它是面向对象设计的终极目标。

(3)里氏替换原则(Liskov Substitution Principle, LSP)

在调用父类的地方换成其子类也完全可以运行。面向对象语言的3大特点是封装、继承和多态。里氏替换原则依赖于继承和多态。

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

抽象不应该依赖于细节,细节应当依赖于抽象。要针对接口编程,而不是针对实现编程。高层模块不应该依赖底层模块,两者都应该依赖于抽象。

(5)接口隔离原则(Interface Segregation Principle, ISP)

类不应该依赖它不需要的接口,类依赖的接口尽可能小,且每一个接口都应该是一种角色。

(6)最小知识原则(Principle of Least Knowledge, PLK)

一个类应该对自己需要耦合或调用的类知道得最少,类的内部如何实现与调用者或者依赖者没关系,调用者或依赖者只需知道它需要的方法即可,其他的一概不用管。

设计模式就是依据这些原则,来实现代码复用和增加可维护性的目的。