Content deleted Content added
+link: [[SSADM |
moving paragraph, -link:cohesion |
||
Line 4:
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]]).
It must be noted that the specific term ''coupling'' is used in [[Object-oriented programming]] design along with its dual notion
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]].
However, in order to achieve maximum efficiency, a highly coupled system is probably needed. In modern computing systems, performance can often be traded for lower coupling; the gains in the [[software development]] process are greater than the value of the running performance gain.
▲It must be noted that the specific term ''coupling'' is used in [[Object-oriented programming]] design along with its dual notion [[cohesion]], while ''dependency'' is used in more traditional programming.
The types of coupling, in order of lowest to highest coupling, are as follows:
|