Coupling (computer programming): Difference between revisions

Content deleted Content added
moved paragraph about cohesion upwards
+link: [[SSADM
Line 3:
In [[computer science]], '''coupling''' or '''dependency''' is the degree to which each program module relies on each other module.
 
Coupling is usually contrasted with [[cohesion]]. Low coupling often correlates with high cohesion, and vice versa. The software quality metrics of coupling and cohesion were invented by Larry Constantine, original developer of Structured Design (see also [[Structured Systems Analysis and Design Methodology|SSADM]]).
 
Coupling can be "high" (or "tight"), or "low" (or "loose"). Low coupling means that one module does not have to be concerned with the internal implementation of another module, and interacts with another module with a stable interface (see [[Information hiding]]). With low coupling, a change in one module will not require a change in the implementation of another module. Low coupling is a sign of a well structured [[computer system]].