Jump to content

Coupling (computer programming)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by SimonP (talk | contribs) at 02:26, 24 January 2005 (content moved from Dependency (project management)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

In computer science, dependency is a state that one object uses a functionality of another object. This may cause changes on implementation of one object can affect that of another object. Supposedly, Information hiding is a way to eliminate dependency to limit influence of changes and improve modularity. Dependencies can be reduced by applying the dependency inversion principle. Examples of dependency relationships are aggregation (is-part-of), inheritance, subtyping, uses and implements relationships.

It also is common in talking about software package management. One software package, in order to work or to be fully functional, may depend on other software packages and thus must be installed also, and their specific versions must be known if backwards compatibility is broken between versions. The Apt package format, as well as some versions of the RPM package format, include dependency information between packages. This is convenient for updating software but can lead to dependency hell.