Dependency Inversion Principle

Hallo Spaß-Coder. Zum Abschluss unserer Prinzipien-Reihe steht nun nicht mehr direkt ein Problem in einer Klasse im Zentrum, sondern vielmehr die Frage, wie sich Abhängigkeiten zwischen Klassen unterschiedlicher Ebenen verhalten. Wie also können wir darauf achten, dass unser System auch dann sauber bleibt, wenn es groß wird? Hier hilft uns das Letzte Prinzip aus der […]

Teile und Herrsche

Hallo Spaß-Coder. Wer von euch hat schon einmal ein Interface implementiert und findet anschließend ein oder mehrere leere Methoden oder Methoden mit throw new NotImplementedException() in seiner neuen Klasse wieder? Warum? Weil einfach zu viele Methoden im Interface vorgesehen sind, die mit der eigentlichen Aufgabe gar nichts zu tun haben. Hier werden wir immer wieder […]

Ist wirklich jeder ersetzbar?

Hallo Spaß-Coder. Wer von euch hat schon einmal eine abgeleitete Klasse (also Kindklasse) verwendet, und diese verhielt sich anders als die Ober(-/Vater)klasse und damit anders, als ihr es erwartet habt? Oder ihr verarbeitet die Ausnahmen (Exception) einer Klasse alle sehr sorgfältig und nun kommt eine Kindklasse der bisherigen Implementierung daher und wirft plötzlich einen neuen […]

Offen und geschlossen!?

Hallo Spaß-Coder. Wie gerne würden wir Coder auf der grünen Wiese entwickeln – und damit meine ich nicht in der grellen Sonne. Aber immer wieder geht es darum, bereits vorhandenen Code zu verändern. Ständig ändern sich die Anforderungen: hier noch etwas mehr Features, dort noch etwas weniger Bugs usw. Im Artikel Aus Prinzip nur eine […]

Aus Prinzip nur eine Verantwortlichkeit

Hallo Spaß-Coder. Wie viele Verantwortlichkeiten haben eure Klassen? Das Eine-Verantwortlichkeit-Prinzip (Single-Responsibility-Principle [SRP]) spricht bei Verantwortlichkeiten bzw. Aufgaben von Klassen darüber, wie viele Gründe es gibt, eine Klasse zu ändern. Das mag dann etwas seltsam anmuten, wenn ich die Aussage treffe: „Ich ändere die Klasse weil ich den Code in der Klasse ändern muss/will.“. Schauen wir […]