Dannorth.net 22.03.2021, 10:51 Uhr

Every single element of SOLID is wrong

Entwickler und Consultant Daniel Terhorst-North sagt, dass die SOLID-Prinzipien nicht mehr zeitgemäß sind und meint jedes einzelne Prinzip widerlegen zu können. Mit CUPID bereitet er zudem eine Alternative vor.

(Quelle: B.Lauer)
In der objektorientierten Computerprogrammierung ist SOLID ein Akronym für fünf Designprinzipien, die Software-Designs verständlicher, flexibler und wartbarer machen sollen. Die Prinzipien sind eine Untermenge vieler Prinzipien, die der amerikanische Software-Ingenieur und Dozent Robert C. Martin in seinem Papier Design Principles and Design Patterns vorgestellt hat. Die SOLID-Konzepte sind:
  • Single-Responsibility: Eine Klasse sollte nur eine einzige Verantwortung haben, das heißt nur Änderungen an einem Teil der Software-Spezifikation sollten die Spezifikation der Klasse beeinflussen können.
  • Open-closed: "Software-Entitäten sollten offen für Erweiterungen, aber geschlossen für Änderungen sein.
  • Das Liskov-Substitutionsprinzip: Objekte in einem Programm sollten durch Instanzen ihrer Subtypen ersetzbar sein, ohne die Korrektheit des Programms zu verändern.
  • Das Prinzip der Schnittstellentrennung (Interface segregation): Viele kundenspezifische Schnittstellen sind besser als eine Universalschnittstelle.
  • Das Prinzip der Abhängigkeitsinversion (Dependency inversion).
Obwohl sie für jedes objektorientierte Design gelten, können die SOLID-Prinzipien auch eine Kernphilosophie für Methoden wie die agile Entwicklung oder die adaptive Softwareentwicklung bilden.

Daniel Terhorst-North: "every single element of SOLID is wrong"

Entstanden ist die Idee anlässlich eines Afterparty-Vortrags im Ignite-Stil: 20 Folien, pro Folie 15 Sekunden. Fertig. Terhorst-North überlegte sich, ob er zu jedem der Solid-Prinzipien eine Folie machen könne um es vorzustellen, eine um es zu widerlegen und eine um eine Alternative vorzuschlagen. Insgesamt sind das 15 Folien. Mit Vorlauf und Abspann waren es dann 20.
Terhorst-North sagt, es sei viel einfacher gewesen als voher gedacht, die Prinzipien zu widerlegen, mit Ausnahme von Liskovs Substitutionsprinzip, das er dann etwas anders anging. Ausgehend von diesem kurzen Vortrag, dessen Rekonstruktion in gedruckter Form Sie hier nachlesen können (beginnend mit der Zwischenüberschrift Single Responsibilty Principle), begann eine sich stetig ausweitende Diskussion über die SOLID-Prinzipien.
Daniel Terhorst-North Alternativen zu den SOLID-Prinzipien lassen sich, so sagt er, unter dem Akronym CUPID zusammenfassen. Er will sie in seinem nächsten Beitrag ausführlicher vorstellen.


Das könnte Sie auch interessieren