9 Forms of Coupling in Software Architecture

Overview of different component coupling types

Ali Zeynalli
3 min readJul 14, 2024
Photo by James Coleman on Unsplash

There is no software system that is free from dependencies and takes no effect if dependent components change. Software architects always have to deal with degree of dependencies between connected components and try to minimise even eliminate this effect. The software component A depends on the software component B, if A requires B for:

  • Compiling in run-time
  • being installed
  • being tested
  • running of functioning properly

Coupling is a degree of dependence between arbitrary building components.

On different abstraction levels there are different types of coupling. Coupling happens not only in source code level but also in infrastructure and many more. Software Architects need to know these types in order to make correct decisions when designing these components. We are going to take a look at some coupling types based on ISAQB Software Architecture Certification Curriculum.

Coupling via use/delegation…

This type of coupling is one of the classics. Basically, if Class A calls public variable of Class B, they are coupled via use/delegation. Best way out is to make these public variables private…

--

--

Ali Zeynalli

IT-Architect | BMW Group | M.Sc. Technical University of Berlin