Engineering Kiosk· Folge 222

#222 SOLID in Go, JS & Co: passt das noch zur modernen Software?

· 1 h 15

MP3

Shownotes

<p>SOLID: Single-Responsibility, Open-Closed, Liskovsche Substitution, Interface-Segregation und Dependency-Inversion</p><p>SOLID klingt nach Fels in der Brandung, fühlt sich in der Praxis aber oft nach Abstraktionspyramide an. Brauchen wir die fünf Prinzipien heute noch oder bremsen sie uns beim Time-to-Market aus? In dieser Episode gehen wir genau dieser Frage nach und nehmen dich mit von der nicht ganz offiziellen SOLID-Entstehungsgeschichte über die wichtigsten Prinzipien bis hin zur ehrlichen Einordnung zwischen Clean Code, Teamrealität und AI-Overengineering.</p><p>Wir starten mit dem S wie Single Responsibility und zerlegen den klassischen UserService: Was gehört rein, was raus, warum Utils-„Mülleimer“ gefährlich sind und wieso Komposition in der Praxis oft die bessere Wahl ist. Danach das O wie Open-Closed mit zwei greifbaren Beispielen: Rabattlogik ohne if-Hölle und Zahlungsanbieter-Design zwischen Switch Case und Strategie. Beim L wie Liskov Substitution wird es historisch und konkret: Barbara Liskov, Turing Award, Rechteck–Quadrat und die Frage, warum protected so oft Kapselung sprengt. Beim I wie Interface Segregation feiern wir kleine, fokussierte Interfaces, Duck Typing und die Go-Philosophie. Und beim D wie Dependency Inversion klären wir den Unterschied zu Dependency Injection, zeigen Injection-Varianten und warum Tests dadurch so viel leichter werden.</p><p>Wir ordnen ein, wo SOLID glänzt und wo es Grenzen hat: Overengineering durch zu viele Klassen, DI-Container-Magic, ORMs, Microservices als Fehlinterpretation von SRP sowie der gesunde Trade-off zwischen sauberen Contracts und schneller Lieferung. Dazu Teamkultur statt Dogmatismus, Clean Code ohne Religion und die Erkenntnis, dass gute Architektur vor allem durch Datenflüsse, Domain-Zuschnitte und klare Systemgrenzen entsteht.</p><p>Am Ende bleibt ein pragmatisches Playbook: Komposition über Vererbung, kleine Interfaces, klare Contracts, Injection wo es hilft und bewusstes Brechen von Regeln, wenn der Kontext es fordert.</p><p>Bonus: Side Project-Idee aus der Community-Ecke. Baue einen Fax-zu-Discord-Bot. Wir integrieren ihn. Versprochen.</p><p><br></p><p>Unsere aktuellen Werbepartner findest du auf <a href="engineeringkiosk.dev/partners"; rel="nofollow">engineeringkiosk.dev/partners</a></p&… schnelle Feedback zur Episode:</strong></p><p><a href="api.openpodcast.dev/feedback/222/upvote"; rel="nofollow"><strong>👍 (top)</strong></a><strong> </strong><a href="api.openpodcast.dev/feedback/222/downvote"; rel="nofollow"><strong>👎 (geht so)</strong></a></p><p><br></p><h3>Anregungen, Gedanken, Themen und Wünsche</h3><p>Dein Feedback zählt! Erreiche uns über einen der folgenden Kanäle …</p><ul><li>EngKiosk Community: <a href="engineeringkiosk.dev/join-discord"; rel="nofollow">engineeringkiosk.dev/join-discord</a>; </li><li>LinkedIn: <a href="linkedin.com/company/engineering-kiosk/"; rel="nofollow">linkedin.com/company/engineering-kiosk/</a&…: <a href="mailto:stehtisch@engineeringkiosk.dev" rel="nofollow">stehtisch@engineeringkiosk.dev</a></li><li>Mastodon: <a href="podcasts.social/@engkiosk"; rel="nofollow">podcasts.social/@engkiosk</a></li>…: <a href="bsky.app/profile/engineeringkiosk.bsky.social&…; rel="nofollow">bsky.app/profile/engineeringkiosk.bsky.social&…: <a href="instagram.com/engineeringkiosk/"; rel="nofollow">instagram.com/engineeringkiosk/</a></… den Engineering Kiosk</h3><p>Wenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns immer </p><ul><li>Buy us a coffee: <a href="engineeringkiosk.dev/kaffee"; rel="nofollow">engineeringkiosk.dev/kaffee</a></li&g… Kiosk Episode #112 Das Engineering Manager Pendulum: Zwischen Coding und Leadership mit Tom Bartel: <a href="engineeringkiosk.dev/podcast/episode/112-das-e…; rel="nofollow">engineeringkiosk.dev/podcast/episode/112-das-e… Kiosk Episode #93 Barbara Liskov - Das L in SOLID (Liskovsches Substitutionsprinzip & Abstraktion): <a href="engineeringkiosk.dev/podcast/episode/93-barbar…; rel="nofollow">engineeringkiosk.dev/podcast/episode/93-barbar… Kiosk Episode #65 Clean Code macht Software langsam: <a href="engineeringkiosk.dev/podcast/episode/65-clean-…; rel="nofollow">engineeringkiosk.dev/podcast/episode/65-clean-…: <a href="de.wikipedia.org/wiki/Trait_(Programmierung)" rel="nofollow">de.wikipedia.org/wiki/Trait_(Programmierung)</a></li><li>Urlaub im Userspace: E011 – 30 Jahre MySQL mit Wolfi <a href="user.space/e011-30-jahre-mysql/"; rel="nofollow">user.space/e011-30-jahre-mysql/</a>; </li></ul><p><br></p><h3>Sprungmarken</h3><p>() Die Geschichte zu den SOLID Prinzipien</p><p>() Info/Werbung</p><p>() Die Geschichte zu den SOLID Prinzipien</p><p>() SOLID: Open-Closed Principle (OCP)</p><p>() SOLID: Liskov Substitution Principle (LSP)</p><p>() SOLID: Interface Segregation Principle (ISP)</p><p>() SOLID: Dependency Inversion Principle (DIP)</p><p>() Kritik an SOLID</p><p>() Automatische Anwendung von SOLID durch AI?</p><p><br></p><h3>Hosts</h3><ul><li>Wolfgang Gassler (<a href="gassler.dev"; rel="nofollow">gassler.dev</a>;) </li><li>Andy Grunwald (<a href="andygrunwald.com/"; rel="nofollow">andygrunwald.com/</a>;)</li></ul><p><br></p><h3>Community</h3><p>Diskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in unserer Engineering Kiosk Community unter <a href="engineeringkiosk.dev/join-discord"; rel="nofollow">engineeringkiosk.dev/join-discord</a>; </p>

0:00 / 0:00