本文为敏捷软件开发 - 原则、模式与实践系列的一部分。
本文对应原书第20章前半部分
包的内聚性原则
重用发布等价原则(REP - The Reuse/Release Equivalence Principle)
重用的粒度就是发布的粒度
REP指出,一个包的重用粒度可以和发布粒度一样大。我们所重用的任何东西都必须同时被发布和跟踪。简单的编写一个类,然后声称它是可重用的做法是不现实的。只有在建立一个跟踪系统,为潜在的使用者提供所需要的变更通知、安全性以及支持后,重用才有可能。
REP带给我们了关于如何把设计划分到包中的第一个提示。由于重用性必须是基于包的,所以可重用的包必须包含可重用的类。因此,至少,某些包应该由一组可重用的类组成。
共同重用原则(CRP - The Common Reuse Principle )
一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么就要重用包中的所有类。
这个原则可以帮助我们决定哪些类应该放进同一个包中。它规定了趋向于共同重用的类应该属于同一个包。
类很少被孤立的重用。一般来说,可重用的类需要与作为该可重用抽象一部分的其它类协作。CRP规定了这些类应该属于同一个包。在这样的一个包中,我们会看到类之间有很多的相互依赖。
CRP告诉我们更多的是,什么类不应该放在一起