Seite 6 - Design Patterns
-
Maxim Mironjuk
-
Dezember 05, 2025
Ein Sidebar Layout aus fester Seitenspalte und flexiblem Hauptbereich klingt nach einer trivialen Aufgabe, bricht aber regelmäßig bei langen Wörtern, Overflow Inhalten und fehlenden Media Queries. Flexbox liefert mit flex-basis, gap und dem Sidebar Pattern eine Lösung, die ganz ohne Breakpoints automatisch umbricht und die visuelle Reihenfolge unabhängig vom Quellcode steuert.
-
Maxim Mironjuk
-
Dezember 04, 2025
Wer mehrere Microservices unter einem einzigen GraphQL-Endpunkt vereinen will, steht vor der Wahl zwischen manuellem Schema Stitching und deklarativer Federation. Beide Ansätze lösen das Problem eines gemeinsamen Schemas grundlegend unterschiedlich, mit spürbaren Folgen für Team-Autonomie, Performance und Betriebsaufwand.
-
Maxim Mironjuk
-
November 26, 2025
Maybe und Either machen einen Fehlerzustand zum Bestandteil des Rückgabetyps, statt ihn implizit über null oder eine geworfene Exception zu verstecken. In PHP 8.4 lassen sich beide Typen mit readonly-Klassen und Enums vollständig ohne externe Bibliothek nachbauen.
-
Maxim Mironjuk
-
November 24, 2025
Eine eigene Zahlungsart-Integration ist in Magento 2 kein einfaches Formular mit Kontodaten, sondern eine vollständige Gateway-Anbindung mit Autorisierung, Capture, Stornierung und asynchronen Statusupdates. Das Payment Gateway Command Pattern strukturiert diese Bausteine so, dass ein externer Zahlungsdienstleister ohne Core-Overrides angebunden werden kann.
-
Maxim Mironjuk
-
November 21, 2025
Eine Schleife registriert fünf Buttons, jeder Klick zeigt dieselbe Zahl statt der erwarteten Reihenfolge. Dieses Muster heißt stale Closure und trifft nicht nur klassische var-Schleifen, sondern auch moderne Event Handler und asynchronen Code. Dieser Artikel zeigt, wo stale Closures entstehen, warum let das Problem oft löst und wie man verbleibende Fälle systematisch debuggt.
-
Maxim Mironjuk
-
November 18, 2025
Higher Order Functions behandeln Funktionen wie jeden anderen Wert: sie werden übergeben, zurückgegeben und zur Laufzeit zusammengesetzt. In PHP 8.4 lassen sich damit Schleifen, Bedingungen und Boilerplate durch klar benannte, wiederverwendbare Bausteine ersetzen, ohne ein zusätzliches Framework zu benötigen.
-
Maxim Mironjuk
-
November 16, 2025
Ein separater Tailwind-Build für jeden White-Label-Kunden skaliert schlecht, sobald hundert Mandanten dieselbe Anwendung mit eigenem Farbschema nutzen wollen. Mit einem einzigen CSS-Bundle und serverseitig injizierten CSS-Variablen anhand des Hostnamens lässt sich White-Label-Theming ohne Rebuild pro Marke umsetzen, direkt auf Basis von Tailwind CSS v4 Design-Tokens.
-
Maxim Mironjuk
-
November 12, 2025
Feature Flags in React Apps entkoppeln die Frage, wann Code deployt wird, von der Frage, wann eine Funktion tatsächlich sichtbar ist. Statt riskanter Big-Bang-Releases lassen sich neue Funktionen schrittweise, für einzelne Nutzergruppen oder sofort per Kill-Switch wieder abschaltbar ausrollen, ganz ohne neuen Build.
-
Maxim Mironjuk
-
November 12, 2025
Funktionale Komposition setzt kleine, einzeln getestete Funktionen zu einer neuen Funktion zusammen, statt Aufrufe tief ineinander zu verschachteln. Mit einer eigenen compose()-Funktion lässt sich dieses Muster in PHP 8.4 typsicher und ohne zusätzliche Abhängigkeit umsetzen.
-
Maxim Mironjuk
-
November 12, 2025
Während oklch() und lab() eigene, in sich geschlossene Farbmodelle beschreiben, öffnet die generische color()-Funktion CSS für ein ganzes Set benannter Farbräume, darunter display-p3, a98-rgb, prophoto-rgb und rec2020. Wer Produktbilder oder Markenfarben auf modernen Displays mit größerem Farbumfang originalgetreu darstellen will, kommt an dieser Funktion kaum vorbei, muss aber auch einen sauberen Fallback für ältere Bildschirme und Browser mitdenken.
-