In computing and systems design, a loosely coupled system is one
- in which components are weakly associated (have breakable relationships) with each other, and thus changes in one component least affect existence or performance of another component.
- in which each of its components has, or makes use of, little or no knowledge of the definitions of other separate components. Subareas include the coupling of classes, interfaces, data, and services. Loose coupling is the opposite of tight coupling.
The core principle behing loose coupling is to reduce the assumptions two parties (components, applications, services, programs, users) make about each other when they exchange information.