Nil or export coupling only
From CSSEMediaWiki
- 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.