Loose coupling
loosely coupledlooser couplingloosely-coupledtightly coupleddecoupled relationshiploose coupledlooselyloosely coupled software componentsloosely-coupled eventsLow coupling
In computing and systems design a loosely coupled system is one in which each of its components has, or makes use of, little or no knowledge of the definitions of other separate components.wikipedia


96 Related Articles
Message-oriented middleware
Message Oriented Middlewareasynchronous messagingmessage queues
Loose coupling in broader distributed system design is achieved by the use of transactions, queues provided by message-oriented middleware, and interoperability standards.
They are different in that RPC- and ORB-based middleware create systems of tightly coupled components, whereas MOM-based systems allow for a looser coupling of components.
Service-oriented architecture
SOAService Oriented Architectureservice-oriented
The related buzzword service-orientation promotes loose coupling between services.

Distributed computing
distributeddistributed systemsdistributed system
Loose coupling in broader distributed system design is achieved by the use of transactions, queues provided by message-oriented middleware, and interoperability standards.
Distributed programming typically falls into one of several basic architectures: client–server, three-tier, n-tier, or peer-to-peer; or categories: loose coupling, or tight coupling.
Event-driven architecture
event-drivenevent drivenEvent Driven Architecture
Event-driven architecture also aims at promoting loose coupling.
This architectural pattern may be applied by the design and implementation of applications and systems that transmit events among loosely coupled software components and services.
Coupling (computer programming)
couplingdependenciesdependency
Subareas include the coupling of classes, interfaces, data, and services.
Low coupling often correlates with high cohesion, and vice versa.
Law of Demeter
principle of least knowledge
In its general form, the LoD is a specific case of loose coupling.
Cohesion (computer science)
cohesioncohesiveHigh Cohesion
High cohesion often correlates with loose coupling, and vice versa.

Computing
computer technologycomputing technologyapplied computing
In computing and systems design a loosely coupled system is one in which each of its components has, or makes use of, little or no knowledge of the definitions of other separate components.



Systems design
system designdesignsystems designer
In computing and systems design a loosely coupled system is one in which each of its components has, or makes use of, little or no knowledge of the definitions of other separate components.
Component-based software engineering
software componentcomponentcomponents
In computing and systems design a loosely coupled system is one in which each of its components has, or makes use of, little or no knowledge of the definitions of other separate components.

Replication (computing)
replicationdata replicationreplicated
Data replication across different systems provides loose coupling (in availability), but creates issues in maintaining consistency (data synchronization).

Data consistency
consistencyconsistent stateconsistency of the data
Data replication across different systems provides loose coupling (in availability), but creates issues in maintaining consistency (data synchronization).
Data synchronization
syncsynchronizationsynchronize
Data replication across different systems provides loose coupling (in availability), but creates issues in maintaining consistency (data synchronization).
Asynchronous communication
asynchronousasynchronouslyASYNC
Data model
structured datastructuredData models









Late binding
dynamic bindingDynamic binding (computing)Late binding criticism
XML
Extensible Markup LanguageXML documentXML parser
Loose coupling of interfaces can be enhanced by publishing data in a standard format (such as XML or JSON).
JSON
JavaScript Object NotationJSON SchemaECMA-404
Loose coupling of interfaces can be enhanced by publishing data in a standard format (such as XML or JSON).

Encapsulation (computer programming)
encapsulationencapsulateencapsulated
Loose coupling in computing is interpreted as encapsulation vs. non-encapsulation.
Unified Modeling Language
UMLUnified Modelling Languageinteraction diagram
This is a UML diagram illustrating an example of loose coupling between a dependent class and a set of concrete classes, which provide the required behavior:



Functional programming
functionalfunctional programming languagefunctional language
Computer programming languages having notions of either functions as the core module (see Functional programming) or functions as objects provide excellent examples of loosely coupled programming.
Continuation
continuationscalloutscontinuation-based web programming
Functional languages have patterns of Continuations, Closure, or generators.
Closure (computer programming)
closuresclosurelexical closure
Functional languages have patterns of Continuations, Closure, or generators.
Clojure
Rich HickeyClojureScriptClojure programming language
See Clojure and Lisp as examples of function programming languages.

Lisp (programming language)
LispLisp programming languageLisp 1.5
See Clojure and Lisp as examples of function programming languages.


