Distribute system intelligence
From CSSEMediaWiki
Revision as of 23:51, 20 July 2009 by Stephen Fitchett (Talk | contribs)
- Distribute system intelligence horizontally as uniformly as possible, i.e. the top level classes in a design should share the work uniformly. --Riel's Heuristic 3.1, Arthur Riel 1996
Description
From chapter 3.3 of Arthur Riel 1996, Riel describes the "god class problem":
The behavioral form of the god class problem is caused by a common error among action-oriented developers in the process of moving to the object-oriented paradigm. These developers attempt to capture the central control mechanism so prevalent in the action-oriented paradigm within their object-oriented design. The result is the creation of a god object that performs most of the work, leaving minor details to a collection of trivial classes. There are a number of heuristics that work together cooperatively toward the avoidance of these classes.
This heuristic follows from that.