面向对象设计原则 单一职责原则(Single responsibility principle)

Posted aaxuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象设计原则 单一职责原则(Single responsibility principle)相关的知识,希望对你有一定的参考价值。

单一职责原则(SRP:Single responsibility principle)又称单一功能原则,面向对象五个基本原则(SOLID)之一。

它规定一个类应该只有一个发生变化的原因。

该原则由罗伯特·C·马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中给出的。

 

所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。

而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。

 

一个类,只有一个引起它变化的原因。应该只有一个职责

。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起。

这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性。例如:要实现逻辑和界面的分离。

 

为什么将不同的职责分离到单独的类中是如此的重要呢?

因为每一个职责都是一个变化的中心。当需求变化时,这个变化将通过更改职责相关的类来体现。

如果一个类拥有多于一个的职责,则这些职责就耦合到在了一起,那么就会有多于一个原因来导致这个类的变化。

对于某一职责的更改可能会损害类满足其他耦合职责的能力。这样职责的耦合会导致设计的脆弱,以至于当职责发生更改时产生无法预期的破坏。

以上是关于面向对象设计原则 单一职责原则(Single responsibility principle)的主要内容,如果未能解决你的问题,请参考以下文章

设计模式面向对象设计原则之单一职责原则

面向对象设计原则之单一职责原则

面向对象七大设计原则

面向对象设计原则之单一职责原则

面向对象的五大基本原则

面向对象设计原则之一:单一职责原则