您的位置:首页 - 教程 - IT技术 - 正文
第2章 面向对象的设计原则(SOLID):1_单一职责原则(SRP)

1. 单一职责原则(Single Responsibility Principle,SRP)

1.1 单一职责的定义

(1)定义:一个类应该仅有一个引起它变化的原因。这里变化的原因就是所说的“职责”。

(2)如果一个类有多个引起它变化的原因,也就意味着这个类有多个职责。即把多个职责耦合在一起了。

(3)“职责”的粒度不好量化。实际开发中,这个原则最容易违反

1.2 单一职责的优点

(1)可以降低类的复杂度,一个类只负责一项职责,其逻辑比负责多项职责的要简单的多

(2)提高类的可读性,提高系统的可维护性

(3)变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。

1.3 案例分析

(1)用户管理类的设计

  ①臃肿的接口设计

 

  ②职责分离

 

(2)Rectangle类

  ①多一个职责的Rectangle类:一个是计算面积,一个是在屏幕上绘制出来

  A.在计算面积的应用程序(Computation Application)中会包含GUI代码。

  B.当Rectangle类因为要更改GUI显示方式时,会迫使我们重新构造Computation应用程序。

 

  ②职责分离后的Rectangle类

  把计算的部分移到GeometryRectangle类中。当改变绘制方式时,不会对Computation应用程序造成影响。

 


评论: