From 0049feee9b99ef0c20b184ff1af4bcde543a83b1 Mon Sep 17 00:00:00 2001 From: "Dr. Gernot Starke" Date: Fri, 11 Oct 2024 14:57:07 +0200 Subject: [PATCH] #578-add-DRY-to-LG-03-04 --- docs/03-design/LG-03-04.adoc | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/03-design/LG-03-04.adoc b/docs/03-design/LG-03-04.adoc index 67a1bf7..8a3a8d0 100644 --- a/docs/03-design/LG-03-04.adoc +++ b/docs/03-design/LG-03-04.adoc @@ -24,14 +24,14 @@ Softwarearchitekt:innen sind in der Lage: **Modularisierung** (R1) -* Geheimnisprinzip ({glossary_url}information-hiding[Information Hiding]) und {glossary_url}encapsulation[Kapselung] (R1) -* Trennung von Verantwortlichkeiten ({glossary_url}separation-of-concern[Separation of Concerns] - SoC) (R1) -* Lose, aber funktionell ausreichende Kopplung (R1) von Bausteinen, siehe <> -* Hohe {glossary_url}cohesion[Kohäsion] (R1) -* {glossary_url}open-close-principle[Offen/geschlossen-Prinzip] (R1) -* {glossary_url}dependency-inversion[Dependency-Inversion-Prinzip] (R1) - Umkehrung von Abhängigkeiten durch Schnittstellen oder ähnlichen Abstraktionen +* Geheimnisprinzip ({glossary_url}information-hiding[Information Hiding]) und {glossary_url}encapsulation[Kapselung] +* Trennung von Verantwortlichkeiten ({glossary_url}separation-of-concern[Separation of Concerns] - SoC) +* Lose, aber funktionell ausreichende Kopplung von Bausteinen, siehe <> +* Hohe {glossary_url}cohesion[Kohäsion] +* {glossary_url}open-close-principle[Offen/geschlossen-Prinzip] +* {glossary_url}dependency-inversion[Dependency-Inversion-Prinzip] - Umkehrung von Abhängigkeiten durch Schnittstellen oder ähnlichen Abstraktionen -**Konzeptionelle Integrität** (R2) +**Konzeptionelle Integrität** (R2-R3) * bedeutet Einheitlichkeit (Homogenität, Konsistenz) von Lösungen für ähnliche Probleme zu erreichen (R2) * als ein Mittel, um das Prinzip der geringsten Überraschung zu erreichen (principle of least surprise) (R3) @@ -40,6 +40,7 @@ Softwarearchitekt:innen sind in der Lage: **Reduktion von Komplexität** (R3) * als Motiv der Prinzipien KISS, YAGNI und CUPID <> +* DRY (Don't Repeat Yourself) als eine Möglichkeit, Wiederholungen zu vermeiden **Erwarte Fehler** (R2-R3) @@ -50,7 +51,7 @@ Softwarearchitekt:innen sind in der Lage: // tag::EN[] [[LG-03-04]] -==== LG 03-04 [previously LG 2-06]: Explain and Use Design Principles (R1-R3) +==== LG 03-04 [previously LG 2-06]: Explain and Use Design Principles (R2) Software architects are able to explain what design principles are. They can outline their general objectives and applications with regard to software architecture. (R2) @@ -78,7 +79,7 @@ Software architects are able to: * {glossary_url}open-close-principle[Open/closed principle] (R1) * {glossary_url}dependency-inversion[Dependency inversion principle] (R1) by means of interfaces or similar abstractions -**Conceptual integrity** (R2) +**Conceptual integrity** (R2-R3) * meaning uniformity (homogeneity, consistency) of solutions for similar problems (R2) * as a means to achieve the principle of least surprise (R3) @@ -87,6 +88,7 @@ Software architects are able to: **Complexity reduction** (R3) * as the driving factor behind KISS, YAGNI, and CUPID <> +* DRY (Don't Repeat Yourself) as one option to avoid repetitions **Expect errors** (R2-R3)