Wie Schnittstellen Code in eine flexible Architektur verwandeln: Wir programmieren gegen Abstraktionen, injizieren Abhängigkeiten via DI, ersetzen Implementierungen in Tests, fügen neues Verhalten hinzu, ohne den Kern zu ändern (OCP). Wir betrachten, wie Schnittstellen den Mustern Observer, Strategy, Command zugrunde liegen, und zeigen Praxisbeispiele (UserRepository, NotificationSender, Zahlungsstrategien).