最近在看Android 设计模式,通过第一章的学习使我对于面向接口编程以及OOP的基本原则有一个深入的了解,所以记下笔记。
一、单一职责原则 SRP
定义:就一个类而言,应该仅有一个引起它变化的原因。简单的说,一个类中应该是一组相关性很高的函数、数据的封装。
作用:优化代码的第一步
二、开闭原则 OCP
定义:软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是对于修改是封闭的
作用:让程序更稳定、更灵活
三、里氏替换原则 LSP
定义:所有引用基类的地方必须能够透明的使用其子类。通俗的讲就是只要父类能出现的地方子类就可以出现,而且替换为子类也不换产生任何错误和异常。
作用:构建扩展性更好的系统
四、依赖倒置原则 DIP
定义:指一种特定的解耦形式,使得高层次的模块不依赖于低层次的模块的实现细节的目的,依赖模块被颠倒了。
作用:让项目拥有变化能力
五、接口隔离原则 ISP
定义:客户端不应该依赖它不需要的接口。类间的依赖关系应该建立在最小的接口上。
作用:系统有更高的灵活性
六、迪米特原则 LOD
定义:也就是最少知识原则,一个对象应对其他对象有最少的了解
作用:更好的扩展性