loose coupling
Components barely touch
Loose coupling describes a design principle where components connect with minimal dependence on each other's internal workings.
In software and systems engineering, loosely coupled parts can be modified, replaced, or scaled independently: The microservices architecture promotes loose coupling between modules.
The concept extends to organizations and relationships—entities that interact through well-defined interfaces rather than tight interdependence.
Opposite of tight coupling.
Divisibility into independent units
- interfacesPoints of interaction between systems
- microservicesDecomposed application architecture
- APIsSoftware communication protocols
- abstractionDistilling to essential qualities
encapsulation · composition · service-oriented · event-driven · interoperability · extensibility · maintainability · scalability
Reciprocal reliance between entities
- modularityDivisibility into independent units
- subsystemsComponent parts of complexes
- integrationCombining into a whole
- interactionReciprocal action between parties
feedback loops · adaptability · resilience · networks · emergence · self-organization · robustness · buffering
modularity
Divisibility into independent units
- interfacesPoints of interaction between systems
- microservicesDecomposed application architecture
- APIsSoftware communication protocols
abstraction · encapsulation · composition · service-oriented · event-driven · interoperability · extensibility · maintainability · scalability · flexibility
interdependence
Reciprocal reliance between entities
- modularityDivisibility into independent units
- subsystemsComponent parts of complexes
- integrationCombining into a whole
interaction · feedback loops · adaptability · resilience · networks · emergence · self-organization · robustness · buffering · redundancy
- coupling
- software developmentcoding, programming, bug, debug, debugging
- microservicesmicroservices, container, containerization, orchestration, Docker
- coding principlesKISS, KISS principle, keep it simple, clean code, code smell
- modular designmodularity, modules, components, encapsulation, reusability
- web frameworkscontrollers, models, views, routing, middleware