在面向对象的软件设计过程中,一切皆抽象成对象,在一个复杂的软件系统中有成千上万甚至百万千万级的对象,那么这么多对象怎么去有效的管理?怎么样去重复利用?怎么去科学合理的组合使其能够融为一体并且可以顺利的工作,这是在面向对象设计中着重需要考虑的问题,那么我们的前辈有没有给我们留下来一些科学的指导原则来处理我们的碰到的问题呢? 答案肯定是 “有”, 那就是面向对象的设计原则,面向对象的设计原则规范了我们设计一个对象因遵守的一些约束,我们合理的运用这些原则去设计每一个对象,那么你设计的对象才符合一个对象应该具有的样子,那么将这些对象按照面向对象设计的原则组装得到的系统才能顺利运行,少出Bug,易于维护,易于扩展。

面向对象有诸多的设计原则,但是通常我们提到的设计原则是其中最重要的五个设计原则,也是公认的面向对象设计的五大原则,也是通常所说的 “S.O.L.I.D”,这五个字母的缩写代表了如下的五个原则,即:

设计原則名称 英文描述 缩写 定义 缩写
单一职责原则 Single Responsibility Principle SRP 一个类只负责一个功能领域中的相应职责 S
开闭原则 Open-Closed Principle OCP 软件实体应对扩展开放,而对修改关闭 O
里氏代换原则 Liskov Substitution Principle LSP 所有引用父类对象的地方能够使用其子类的对象 L
接口隔离原则 Interface Segregation Principle ISP 使用多个专门的接口,而不使用单一的总接口 I
依赖倒转原则 Dependence Inversion Principle DIP 抽象不应该依赖于细节,细节应该依赖于抽象 D
迪米特原则 Law of Demeter Lod 只和直接朋友说话  

接下来我们逐一详细解析这五大原则。

【面向对象设计原则】之原则概述

【面向对象设计原则】之单一职责原则(SRP)

【面向对象设计原则】之开闭原则(OCP)

【面向对象设计原则】之里氏替换原则(LSP)

【面向对象设计原则】之接口隔离原则(ISP)

【面向对象设计原则】之依赖倒置原则(DIP)

【面向对象设计原则】之迪米特原则(LoD)

1
2
3
作者:蓝之风
出处:http://www.cnblogs.com/vaiyanzi/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

References