单一职责原则
单一职责原则: ? ? Single Responsibility Principle,SRP:Each class should have one and only one reason to change.——Robert C.Martin ?一个类应该仅有一个引起它变化的原因。 ? ? SRP是实现高内聚、低耦合的指导方针,是最简单,但又最难以运用的原则。 ? ? 在SRP中,把职责定义为“变化的原因”。如果你能想到多个动机去改变一个类,那么这个类就具有多于一个的职责,当其中一个职责变化时,很可能会影响其他职责的运作。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。这就需要设计人员发现类的不同职责并将其分离。 职责扩散: ? ?在了解了SRP之后,我们有必要再了解一下职责扩散,因为往往我们会在这个地方违背SRP。所谓职责扩散,就是因为某种原因,职责P被分化为粒度更细的职责P1和P2。 ? ? 比如下面的例子:
class Program { static void Main(string[] args) { Animal animal = new Animal(); animal.Breathe("小狗"); animal.Breathe("小猫"); } } class Animal { public void Breathe(string animal) { Console.WriteLine(animal + "呼吸空气 "); } }? ? 运行结果:
? ? 所以在职责扩散到我们无法控制的程度之前,应该立刻对代码进行重构。 参考资料: http://www.voidcn.com/article/p-obarfzju-bme.html http://www.docin.com/p-593876879.html http://blog.chinaunix.net/uid-17102734-id-2830087.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |