Grow Classes

As the software is written and requirements are changed and refined, opportunities to introduce new classes present themselves naturally when refactoring or changing code: new classes "grow" from existing code.

Of course, obsolete classes are "pruned"; it's like gardening. The accumulating complexity of a developing piece of software is managed by organizing it with appropriate abstractions; if classes are not allowed to become too complicated, in the long run their number can only increase.

The opposite of grown classes are classes introduced from outside: any kind of BigDesignUpFront, patterns and conventions requiring sets of classes (e.g., components with interfaces, normal and test implementations, implementation factories, etc.), or something "that might be useful later".

-- LorenzoGatti


EditText of this page (last edited September 12, 2004) or FindPage with title or text search