One key abstraction
From CSSEMediaWiki
Revision as of 04:40, 6 October 2008 by Tureiti Keith (Talk | contribs)
Riel's Heuristic #2.8
A class should represent one key abstraction of the domain model, no more and no less. A key abstraction is generally a noun in a requirements statement. If a key abstraction maps to more than one class, the designer may be representing each function of the abstraction as a class. If several key abstractions map to one class, the designer may be creating a centralized system and needs to split the class into several smaller classes.