One key abstraction
From CSSEMediaWiki
(Difference between revisions)
(→See also) |
JaninaVoigt (Talk | contribs) (→See also) |
||
Line 6: | Line 6: | ||
== See also == | == See also == | ||
* [[Split large classes]] | * [[Split large classes]] | ||
+ | * [[God object]] | ||
* [[Riel's heuristics]] | * [[Riel's heuristics]] | ||
* [[Single responsibility principle]] | * [[Single responsibility principle]] | ||
* [[Separation of concerns]] | * [[Separation of concerns]] | ||
* [[Interface segregation principle]] | * [[Interface segregation principle]] |
Revision as of 03:35, 20 July 2009
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.