Serien: Wissenshäppchen

Don’t Repeat Yourself (DRY) – Wissenshäppchen #1

This entry is Teil 1 von 8 in the series Wissenshäppchen

In der ersten Episode meiner „Wissenshäppchen“ widme ich mich einem der wichtigsten Prinzipien der Softwareentwicklung: Don’t Repeat Yourself (DRY). Doppelter Code ist der Feind jedes Entwicklers! 🙂 Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. (DontRepeatYourself) Am Beispiel einer weit verbreiteten Programmierübung zeige ich den Weg von doppeltem zu…

Read More

You Ain’t Gonna Need It (YAGNI) – Wissenshäppchen #2

This entry is Teil 2 von 8 in the series Wissenshäppchen

In der zweiten Episode meiner „Wissenshäppchen“ geht es um ein weiteres wichtiges Prinzip der Softwareentwicklung: You Ain’t Gonna Need It (YAGNI) (alternativ auch You Aren’t Gonna Need It). Wir sollten immer nur das entwickeln, was wir wirklich brauchen! Always implement things when you actually need them, never when you just foresee that you need them….

Read More

Single Responsibility Principle (SRP) – Wissenshäppchen #3

This entry is Teil 3 von 8 in the series Wissenshäppchen

Mein drittes Wissenshäppchen hat das Single Responsibility Principle zum Thema. TL;DR Das Single-Responsibility-Principle (SRP) ist das erste SOLID-Prinzip: Eine Klasse soll genau eine Aufgabe und damit einen Grund haben, geändert zu werden. Ich übertrage diesen Gedanken auch auf Methoden und andere Komponenten, damit du ihren Code leichter verstehen und getrennt testen kannst. Dabei brauchst du…

Read More

Open Closed Principle (OCP) – Wissenshäppchen #4

This entry is Teil 4 von 8 in the series Wissenshäppchen

Mein viertes Wissenshäppchen hat das Open Closed Principle zum Thema. TL;DR Mit dem Open-Closed-Principle (OCP) erweitere ich Software um neue Funktionen, während der bestehende Code unverändert bleibt. Durch Polymorphie und Interfaces kannst du zusätzliche Klassen einbinden; typabhängige Abfragen mit instanceof oder switch weisen auf Stellen hin, die bei jeder neuen Klasse angepasst werden müssen. Das…

Read More

Liskov Substitution Principle (LSP) – Wissenshäppchen #5

This entry is Teil 5 von 8 in the series Wissenshäppchen

Im fünften Wissenshäppchen geht es um das Liskov Substitution Principle. TL;DR Am Liskov Substitution Principle (LSP) zeige ich dir, worauf du beim Austauschen von Klassen achten musst: Subklassen und Klassen, die ein Interface implementieren, müssen das erwartete Verhalten auch zur Laufzeit einhalten. Unerwartete Exceptions oder Seiteneffekte können bestehenden Code beschädigen, obwohl der Compiler alle geforderten…

Read More

Interface Segregation Principle (ISP) – Wissenshäppchen #6

This entry is Teil 6 von 8 in the series Wissenshäppchen

Das sechste Wissenshäppchen hat das Interface Segregation Principle als Thema. TL;DR Mit dem Interface Segregation Principle (ISP) halte ich die Schnittstellen, von denen mein Code abhängt, so klein, wie es die jeweilige Aufgabe erlaubt. Am Beispiel von List und Iterable in Java zeige ich dir, wie eine passende Schnittstelle den Zugriff auf Methoden begrenzt und…

Read More

Dependency Inversion Principle (DIP) – Wissenshäppchen #7

This entry is Teil 7 von 8 in the series Wissenshäppchen

Im siebten Wissenshäppchen geht es um das Dependency Inversion Principle. TL;DR Mit dem Dependency Inversion Principle, dem D aus SOLID, richte ich Abhängigkeiten auf abstrakte Schnittstellen aus. Die Geschäftslogik und ihre technischen Komponenten hängen dadurch von Abstraktionen ab, wobei konkrete Implementierungen von außen übergeben werden. So kannst du beispielsweise eine Datenbank austauschen oder im Test…

Read More

Law of Demeter (LoD) – Wissenshäppchen #8

This entry is Teil 8 von 8 in the series Wissenshäppchen

Law of Demeter (LoD) Um das Law of Demeter (Gesetz von Demeter) in der Softwareentwicklung geht es im achten Wissenshäppchen. TL;DR Mit dem Law of Demeter hältst du deinen Code unabhängig vom inneren Aufbau anderer Objekte, indem du Aufgaben an die zuständigen Objekte weitergibst. An einem Versicherungsbeispiel zeige ich dir, wie dadurch fachliche Logik in…

Read More