代码改变世界

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

2017-03-24 14:16  蓝之风  阅读(1738)  评论(0编辑  收藏  举报

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

面向对象的设计原则至于面相对象,犹如交通规则至于交通一样重要,想象一下如果没有交规交通将混乱的无法想象,如果没有面向对象的设计原则那么面向对象的编程会混乱成什么样?所以面向对象的设计原则对于面向对象的设计来说它的重要性怎么强调都不为过。

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

设计原則名称

英文描述

缩写

定义

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

 

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