Skip to content

Commit

Permalink
Merge pull request #477 from isaqb-org/coupling-specifics
Browse files Browse the repository at this point in the history
Add specifics on kinds of coupling.
  • Loading branch information
gernotstarke authored Jul 25, 2024
2 parents fd1bb05 + 4236d88 commit 1b5662e
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions docs/03-design/LZ-03-06.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ Sie:

* kennen und verstehen unterschiedliche Arten der Kopplung von Bausteinen (beispielsweise Kopplung über Benutzung/Delegation, Nachrichten/Ereignisse, Komposition, Erzeugung, Vererbung, zeitliche Kopplung, Kopplung über Daten, Datentypen oder Hardware)
* verstehen, wie Abhängigkeiten die Kopplung vergrößern
* können mindestens die folgenden Arten von Kopplung unterscheiden:
** statische und dynamische Kopplung <<fordhardparts>>
** efferente und afferente Kopplung <<fordhardparts>>
** andere Arten von Kopplung (z.B. Hardware/Infrastruktur, temporal, Daten, Datenstruktur etc.)
* wissen, dass auf statische Kopplung zu verzichten und stattdessen
dynamische Kopplung einzusetzen, die zugrundeliegende Kopplung
nicht notwendigerweise reduziert
* können solche Arten der Kopplung gezielt einsetzen und die Konsequenzen solcher Abhängigkeiten einschätzen
* kennen Möglichkeiten zur Auflösung bzw. Reduktion von Kopplung und können diese anwenden, beispielsweise:
** Muster
Expand All @@ -27,6 +34,13 @@ Software architects understand dependencies and coupling between building blocks

* know and understand different types of dependencies of building blocks (e.g. coupling via use/delegation, messaging/events, composition, creation, inheritance, temporal coupling, coupling via data, data types or hardware)
* understand how dependencies increase coupling
* can differentiate between at least the following categories of coupling:
** static and dynamic coupling <<fordhardparts>>
** efferent and afferent coupling <<fordhardparts>>
** other types of coupling (e.g. hardware/infrastructure, temporal,
data, data structure etc.)
* know that forgoing static dependencies in favor of dynamic
dependencies does not necessarily reduce the underlying coupling
* can use such types of coupling in a targeted manner and can assess the consequences of such dependencies
* know and can apply possibilities to reduce or eliminate coupling, for example:
** patterns
Expand Down

0 comments on commit 1b5662e

Please sign in to comment.