Nil or export coupling only

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
m
m (Reverted edits by Ebybymic (Talk); changed back to last version by JaninaVoigt)
 
(2 intermediate revisions by 2 users not shown)
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.

See also

Personal tools