Nil or export coupling only
From CSSEMediaWiki
(Difference between revisions)
m (Reverted edits by Ebybymic (Talk); changed back to last version by JaninaVoigt) |
|||
(3 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | :''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 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. | 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. | ||
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]] |
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.