面向对象设计之SOLID原则

面向对象设计(Object-Oriented Design,OOD)方法是面向对象程序设计方法中一个环节。其主要作用是对分析模型进行整理,生成设计模型提供给OOP作为开发依据。OOD包括:架构设计、用例设计、子系统设计、类设计等

SOLID(单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)是面向对象设计的五个基本原则,由Robert C. Martin提出。充分掌握五个原则并运用到软件设计开发中,可以使软件易于维护,方便扩展。

1. 单一职责原则(SRP)

单一功能原则(Single responsibility principle)规定每个类都应该有一个单一的功能,并且该功能应该由这个类完全封装起来。所有它的(这个类的)服务都应该严密的和该功能平行(功能平行,意味着没有依赖)。

简单讲就是一个类或者一个功能模块 仅仅有一个功能,修改这个类或者模块的原因只有一个。

2. 开放封闭原则(OCP)

软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的

可以通过类的继承,多态实现。

3. 里氏替换原则(LSP)

任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。

4. 接口隔离原则(ISP)

接口隔离原则(英语:interface-segregation principles, 缩写:ISP)指明客户(client)应该不依赖于它不使用的方法。[1]接口隔离原则(ISP)拆分非常庞大臃肿的接口成为更小的和更具体的接口,这样客户将会只需要知道他们感兴趣的方法。这种缩小的接口也被称为角色接口(role interfaces)。[2]接口隔离原则(ISP)的目的是系统解开耦合,从而容易重构

5. 依赖倒置原则(DIP)

依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合
面向过程的开发,上层调用下层,上层依赖于下层,当下层剧烈变动时上层也要跟着变动,这就会导致模块的复用性降低而且大大提高了开发的成本。

你可能感兴趣的:(面向对象设计之SOLID原则)