Related Topics

This category brings together foundational concepts and adjacent perspectives that enrich the Balanced Coupling model. It revisits classic ideas like module coupling and connascence, and explores topics such as semantic, lifecycle, and runtime coupling–along with broader frameworks like domain-driven design and Cynefin.

Module Coupling

This article revisits the classic module coupling model from structured design, detailing its six levels of interdependency and examining its relevance today. It also introduces integration strength as a modern adaptation suited to contemporary software architecture.

Connascence

Connascence is a detailed model of coupling that classifies interdependencies between components in object-oriented systems into static and dynamic levels. This article explores how connascence compares to traditional module coupling and how it integrates with the broader framework of integration strength in software design.

Semantic coupling

Semantic coupling occurs when components depend on shared business or technical concepts, making changes ripple across systems. This article explains domain and technical semantic coupling, their relation to connascence, and how Balanced Coupling distinguishes between model and contract coupling.

Temporal Coupling

Temporal coupling arises when components must execute in a specific order or with specific timing. This article explores its relationship to connascence and integration strength within the Balanced Coupling framework.

Lifecycle Coupling

Lifecycle coupling describes how the interdependence between software components throughout their lifecycle—from development to maintenance—is shaped by technical and organizational distance. This article explains how managing distance can reduce complexity and improve modularity.

Runtime Coupling

Runtime coupling occurs when the availability of one component depends on another, risking cascading failures. This article explores resilience patterns that mitigate runtime coupling and shows how Balanced Coupling helps maintain modularity in distributed systems.

Afferent/Efferent Coupling

Afferent and efferent coupling describe the direction of dependencies between software components. This article explores these concepts in the context of balanced coupling, introduces related software metrics like instability and abstractness, and critiques their limitations when integration strength is ignored.

Cynefin

The Cynefin framework helps categorize different types of uncertainty in decision-making, from predictable outcomes to total chaos. This article explains each Cynefin domain and connects the framework to software modularity and the Balanced Coupling model.

Domain-Driven Design

Domain-Driven Design (DDD) is a methodology for building modular software systems by aligning technical design with business strategy. This article explores strategic and tactical DDD patterns and connects them to the dimensions of coupling in the balanced coupling model.