THE GARDEN
Updated 22 Jul 2026
def
principles for grouping classes into packages/components for release and reuse
principles
release-reuse equivalency principle (REP)
the granularity of reuse is the granularity of release
group reusable classes into packages that can be managed, upgraded, and controlled as new versions are released
common closure principle (CCP)
classes that change together belong together
package classes cohesively — if one class in a package changes due to a requirement change, they all likely will
common reuse principle (CRP)
classes that are not reused together should not be grouped together
grouping unrelated classes leads to unnecessary integration and testing when only some classes change
related
Component Design Principles
Component-Level Design
Modularity
◌ Explore connections in Graph view
Paths through the garden