Nil or export coupling only
From CSSEMediaWiki
(Difference between revisions)
m |
JaninaVoigt (Talk | contribs) (→See also) |
||
Line 9: | Line 9: | ||
* [[Program to the interface not the implementation]] | * [[Program to the interface not the implementation]] | ||
* [[Design by contract]] | * [[Design by contract]] | ||
+ | * [[Coupling and cohesion]] | ||
[[Category:Riel's heuristics]] | [[Category:Riel's heuristics]] |
Revision as of 02:32, 22 July 2009
- Classes should only exhibit nil or export coupling with other classes, i.e. a class should only use operations in the public interface of another class or have nothing to do with that class --Riel's Heuristic 2.7, Arthur Riel 1996
Classes should only depend on the public methods of another class or nothing at all. Other forms of coupling give away implementation details of a class, which is bad for maintenance when implementations need to be changed.
Riel also states that class cohesion ensures that all elements of a class are related.