- Lars Briem
- Maurice Müller
- Mirko Dostmann
- SOLID
- Single Responsibility
- Open Closed
- Liskov Substitution
- Interface Segregation
- Dependency Inversion
- Tell, don't ask
- Keep it short and simple
- Single level of abstraction
- GRASP
- Low Coupling
- High Cohesion
- Information Expert
- Creator
- Indirection
- Polymorphism
- Controller
- Pure Fabrication
- Protected Variations
- Don't Repeat Yourself
- You ain't gonna need it
- Conway's Law
- Einführung
- Einteilung
- Dekorierer
- Erbauer
- Kompositum
- Strategie
- Geschichte
- Definition
- Vor/Nachteile
- Qualitätsmerkmale
- Vorgehen beim Entwurf
- Use Cases übersprungen
- Fortführung in der nächste Einheit
- APIs auf Objektebene
- bis einschließlich Benennung
- wird fortgeführt in der nächsten Einheit
- APIs auf Objektebene
- Typisierung
- Minimale Sichtbarkeit
- Hilfsmethoden
- optionale Rückgabewerte
- Exceptions
- Interfaces / Fluent Interfaces
- Template-Methoden
- Callback-Methoden
- Annotationen
- Immutability
- Threadsicherheit
- Kompatibilität
- Code-Kompatibilität
- binäre Kompatibilität
- funktionale Kompatibilität
- Verwandschaftsbeziehung
- Design By Contract
- Änderungen in der Praxis
- Fortführung in der nächste Einheit
- API-Design
- Web APIs -> RESTful HTTP
- Definition REST
- Hypermedia
- HTTP-Standardmethoden
- HATEOAS
- Beispiel Webshop
- Asynchrone Bearbeitung
- Fehlerbehandlung
- URI Design
- Versionierung
- Partielle Rückgabe
- Security
- Web APIs -> RESTful HTTP
- FRP
- Einführung
- Kompositionalitätsprinzip
- referentielle Transparenz
- Beispiel Donut Shop
- alles einschließlich ab Folie 30 (Zustandsmaschine) wurde nicht behandelt
- Arten von Tests
- xUnit/JUnit
- A-TRIP Regeln
- Automatic
- Thorough
- Repeatable
- Independent
- Professional
- Matcher
- Mocking
- Code Coverage
- Test First/TDD
- Bedeutung/Definition
- Gründe für Refactoring
- Zeitpunkt für Refactoring
- Schwierigkeiten mit Refactoring
- Code Smells
- Duplicated Code
- Long Method
- Large Class
- Shotgun Surgery
- Switch Statements
- Code Comments
- Refactorings
- Extract Method
- Rename Method
- Replace Temp with Query
- Replace Conditional with Polymorphism
- Replace ErrorCode with Exception
- Replace Inheritance with Delegation
- Rollen bei der UI Entwicklung
- User Centered Design Process
- Definition Usability/User Experience
- Analyse
- Mentales Modell
- Design
- Anzahl Features vs. Komplexität
- Gestalt Prinzipien
- Experten Review
- Systemstatus
- Realität vs. System
- Konsistenz / Einhaltung von Standards
- Flexibilität
- Gedächtnis des Benutzers entlasten
- Minimalistisches Design
- Benutzern einen Ausweg lassen
- Fehlervermeidung
- Fehlerbehandlung
- Hilfe und Dokumentation
- Usability Test
- Testarten
- Vorbereitung
- Einführung
- Durchführung
- Auswahlkriterien
- Häufige Fehler
- Evaluation
- A / B Tests