面向对象设计原则(三) 单一职责原则

单一职责原则:

一、核心关键:就一个类而言,应该仅有一个引起它变化的原因。

二、有关类的职责分配问题,是面向对象设计中最重要的基本原则。

类被修改的几率很大,因此应该专注于单一的功能。如果你把多个功能放在同一个类中,功能之间就形成了关联,改变其中一个功能,有可能中止另一个功能,这时就需要新一轮的测试来避免可能出现的问题。

三、SRP体现了内聚性(一个模块的组成元素之间的功能相关性)。

四、案例:计算几何程序

违反SRP的案例:

面向对象设计原则(三) 单一职责原则_第1张图片

    Rectangle类可能会因为两方面的原因而变化:计算几何方面的原因和用户界面设计方面的原因。其中之一发生变化后,必须修改Rectangle类,而这种修改则可能导致另一应用程序出错。除此之外,违反SRP还会带来物理依赖的缺点。

解决方案:增加一个新的类,使得每个类仅有一个职责。

面向对象设计原则(三) 单一职责原则_第2张图片

总结:就一个类而言,应该仅有一个引起它变化的原因


上接:面向对象设计原则(二) 开放-封闭原则

下接:面向对象设计原则(四) 接口隔离原则

如有错误,还请指出,非常感谢!!



你可能感兴趣的:(面向对象)