SDM: Week 7
Topic: More patterns; Principles of dynamic design
Lectures
Patterns:
Contracts and interaction design:
- slides
- video part 1 youtube, video part 1 mediahopper, video part 2. (Part 2 is only at YT not MediaHopper because of a technical problem.)
Q&A/discussion: we discussed what good design is and the fundamental problem of resilience to change. We went on to discuss the SOLID design principles especially LSP, and some patterns, especially Observer.
Videos
Optional: Joshua Bloch on How to Design a Good API and Why it Matters
Readings
- Martin Fowler on Command-Query Separation
- Martin Fowler on Fluent Interfaces Optional: Wikipedia entry on fluent interfaces (has interesting language examples, but is a bit long-winded).
- Patterns, this week and next. I recommend trying the exercises before doing the reading.
Browse and google as necessary to grok the patterns: e.g. start here or here. (See the annotated lists in the slides for the patterns you need to know for exam.)
If you prefer a video presentation, there are lots on YouTube: e.g. here is Derek Banas' explanation of the Strategy pattern - he has a whole series and there are many others. Use whatever material you find useful.
License
All rights reserved The University of Edinburgh