敏捷设计原则之一:单一职责原则(SRP)

来源:互联网 发布:ubuntu 16.04 openjdk 编辑:程序博客网 时间:2024/05/16 06:59

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

      职责就是“引起变化的原因”。如果你能想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。一种区分一个类是否需要分解为多个类的依据是:应用程序的变化是否总是导致类的职责的同时变化,如果是,可以不分离;如果不是,就需要将类分解。
      此外,应注意:变化轴线(职责)仅当变化实际发生时才有真正的意义。如果没有征兆,那么去应用SRP,或者任何其他原则都是不明智的。
      一种常见的违反SRP的情形:temp

           Employee类包含了业务规则和对于持久化的控制。这两个职责在大多数情况下绝不应该混合在一起。业务规则往往会频繁的变化,而持久化的方法却不会如此频繁的变化,并且变化的原因也是完全不同。
原创粉丝点击