Common reuse principle
From CSSEMediaWiki
(Difference between revisions)
Joey Scarr (Talk | contribs) |
Joey Scarr (Talk | contribs) |
||
Line 14: | Line 14: | ||
==See Also== | ==See Also== | ||
*[[Common closure principle]] | *[[Common closure principle]] | ||
+ | *[[Reuse release equivalence principle]] | ||
[[Category:Pages that need examples]] | [[Category:Pages that need examples]] | ||
[[Category:Bob Martin's principles]] | [[Category:Bob Martin's principles]] |
Revision as of 07:18, 7 October 2010
From [1]:
The classes in a package are reused together. If you reuse one of the classes in a package, you reuse them all.
This means: "The classes that tend to be reused together belong in the same package",Robert Cecil Martin 1996b
[It] is very important to decide which classes should be bound together by a package. Improper selection of classes can create unwanted dependencies and turn usage of that package into a nightmare. [The] Common Reuse Principle (CRP) lays down a good foundation to determine which classes should be packaged together: The classes in a package are reused together. If you reuse one of the classes in a package, you reuse them all. It says that only cohesive classes should be packaged together. As with everything, the packaging of classes and the cohesiveness should be defined from the user’s perspective. If a user uses a package, all the classes in that package should be reusable in the same context.