Loose coupling

Loose coupling referred to in the computer science a low degree of function of several hardware and software components to each other. In loose coupling of a system to changes in individual components can often perform simpler because the change has only a local effect. Had a tight coupling given, the amendment would not remain local, but might require additional adjustments in all coupled components. This advantage is offset by the disadvantage in some cases, a slightly lower performance.

Taxonomy for multiprocessor systems

There are multiprocessor systems in loosely coupled systems ( loosely coupled ) and, accordingly, close coupling ( tightly coupled ) distinguished.

From a loosely coupled system is used when the data transfer between two systems via I / O systems is performed (network, data line ).

The use of loosely-coupled systems is directed to the processing of distributed problems. An example of such a problem is distributed on several computers factorization of a very large number. Each computer would get its own set of divisors of this number assigned to try each and finally return the result to the host.

Software Architecture

The concept of coupling has also established itself in the software architecture and describes there how closely the components of a software are interconnected. Closely associated with the concept of coupling is in the software architecture, the term cohesion. It aims at a coupling between the loose components as possible, as well as strong bonding (cohesion) of each component within a software system.

A loose coupling means in the software architecture of a software components that communicate with only a few interfaces with other components, or are dependent on other components. These components communicate not necessarily across system boundaries, but usually within a software system. For this case, the design pattern facade describes how this can be implemented in software design. Global variables, public attributes, singletons or for example the storage of software states in a database automatically increase the interface of components and should therefore be avoided.

Loose coupling means that changes in one component only changes in another component to be made when the changes affect the interface. Loose coupling therefore has a direct impact on the maintainability of a software.

529330
de