1/16
Diese Flashcards decken wichtige Begriffe und Konzepte zu Architekturmuster und Softwareentwicklungsprinzipien ab.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
Architekturmuster
Beschreiben die Struktur eines Systems auf höherer Ebene.
Schichtenarchitektur (Layered Architecture)
Strukturierung der Anwendung in Schichten, wobei jede Schicht Funktionalitäten für die nächsthöhere Schicht bereitstellt.
Client-Server-Modell
Modell, das die Trennung von Client und Server zur Bereitstellung von Diensten beschreibt.
Peer-to-Peer-Modell
Direkte Kommunikation zwischen gleichwertigen Knoten im Netzwerk ohne zentrale Steuerung.
Microservices
Architektur, die komplexe Anwendungen aus unabhängigen, kleinen Diensten zusammensetzt.
Pipes & Filters
Struktur für Systeme zur Verarbeitung von Datenströmen, die durch Transformationsprozesse geleitet werden.
Ereignis-gesteuerte Architektur (Event-driven Architecture, EDA)
Architektur, die durch Ereignisse gesteuert wird und lose Kopplung sowie hohe Flexibilität bietet.
Model-View-Controller (MVC)
Entwurfsmuster, das die Anwendung in Model, View und Controller unterteilt, um die Strukturierung zu verbessern.
Single-Responsibility-Prinzip (SRP)
Sammeln von Dingen, die sich aus denselben Gründen verändern, und Trennen der Dinge, die sich aus unterschiedlichen Gründen verändern.
Open-Closed-Prinzip (OCP)
Software-Entitäten sollten offen für Erweiterungen, aber geschlossen für Änderungen sein.
KISS - Keep it simple, stupid!
Bevorzuge einfache und klare Implementierungen.
YAGNI - You ain't gonna need it
Implementiere keine Funktionen, die aktuell nicht benötigt werden.
DRY - Don’t Repeat Yourself
Vermeide Redundanzen im Code durch Wiederverwendung.
Loose Coupling
Minimierung der Abhängigkeiten zwischen Modulen, um Wartbarkeit und Flexibilität zu verbessern.
Principle of Least Astonishment
Entwirf Benutzeroberflächen so, dass sie für den Benutzer erwartungsgemäß funktionieren.
Fail Fast
Gestalte Systeme so, dass sie Fehler schnell erkennen, um frühzeitig reagieren zu können.
TDD - Test-Driven Development
Schreibe zuerst die Tests, bevor du den Code implementierst.