(Java)面向对象编程六大基本原则

本文出自《Android源码设计模式解析与实战》中第一章的个人总结,知识嘛共享的,给大家推荐一下这本书。
偶然发现,在CSND上有这本书第一章的原文面向对象六大原则 作者的博客哦,受教了。

(Java)面向对象编程六大基本原则_第1张图片
这是文中例子的UML图,加入的我的理解。

六大基本原则可分为:SOLID和迪米特原则。

1.单一自责原则S——优化代码的第一步

Single Responsibility Principle,简称SRP
定义:就一个类而言,应该仅有一个引起它变化的原因

2.开闭原则O——让程序更稳定、更灵活

Open Close Principle,简称OCP
定义:软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是,对于修改是封闭的

3.里氏替换原则L——构建扩展性更好的系统

Liskov Substitution Principle,简称LSP
定义:所有引用基类的地方必须能透明地使用其子类的对象

4.接口隔离原则I——系统有更高的灵活性

InterfaceSegregation Principles,简称ISP
定义:类间的依赖关系应该建立在最小的接口上

5.依赖倒置原则D——让项目拥有变化的能力

Dependence Inversion Principle,简称DIP
定义:
(1)高层模块不应该依赖低层模块,两者都应该依赖其抽象;
(2)抽象不应该依赖细节;
(3)细节应该依赖抽象。

6.迪米特原则——更好的可扩展性

Law of Demeter,简称LOD
定义:一个对象应该对其他对象有最少的了解

你可能感兴趣的:(【Android开发基础】)