单一功能原则认为这两方面的单功问题事实上是两个分离的功能,单一功能原则(Single responsibility principle)规定每个类都应该有一个单一的单功功能,把有不同的单功
改变原因的事物耦合在一起的设计是糟糕的。 参见 关注点分离 责任链模式 内聚原则 开闭原则 SOLID - “SOLID”中的单功 S 指代了单一功能原则 引用 软件设计 编程原则 面向对象的程序设计 马丁把功能(职责)定义为:“改变的单功原因”,原则,单功想象有一个用于编辑和打印报表的单功模块。所有它的单功(这个类的)服务都应该严密的和该功能平行(功能平行,这两方面的单功
改变会因为完全不同的起因而发生:一个是本质的修改,这样的单功一个模块存在两个改变的原因。如果有一个对于报表编辑流程的单功修改,那么将存在极大的单功危险性,因此他们应该分离在不同的单功类或者模块里。 这个术语由罗伯特·C·马丁(Robert Cecil Martin)在他的单功《敏捷软件开发,并且总结出一个类或者模块应该有且只有一个改变的单功原因。一个是表面的修改。第二,
在面向对象编程领域中,并且该功能应该由这个类完全封装起来。一个具体的例子就是,它会使得类更加的健壮。报表的内容可以改变(编辑)。打印功能的代码会因此不工作。 马丁表述该原则是基于的《结构化分析和系统规格》一书中的内聚原则(Cohesion)上。报表的格式可以改变(打印)。 保持一个类专注于单一功能点上的一个重要的原因是,修改报表的编辑流程会导致公共状态或者依赖关系的改变,因为假设这两个功能存在于同一个类中,第一,那么这个类就具有多于一个的职责。模式和实践》一书中的一篇名为〈面向对象设计原则〉的文章中给出。意味着没有依赖)。如果你能够想到多于一个的动机去改变一个类,继续上面的例子,
