Coupling (computer programming): Difference between revisions

Content deleted Content added
direct link
Straal (talk | contribs)
Links without disambiguation pages
Line 1:
In [[computer science]], '''dependency''' is a state thatwhere 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 (object-oriented programming)|aggregation]] (is-part-of), [[Inheritance (computer science)|inheritance]] (is-a), [[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 [[backward compatibility]] is broken between versions. The [[Apt]] package format, as well as some versions of the [[RPM Package Manager|RPM]] package format, include dependency information between packages. This is convenient for updating software but can lead to [[dependency hell]].