Nil or export coupling only
From CSSEMediaWiki
(Difference between revisions)
(→See also) |
m (Reverted edits by Ebybymic (Talk); changed back to last version by JaninaVoigt) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | Riel's Heuristic | + | :''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. | ||
== See also == | == See also == | ||
Line 10: | 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]] |
Latest revision as of 03:18, 25 November 2010
- 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.