REVISION AND PRACTICE
Final revision checklist
- I can explain component, connector and protocol with one example each.
- I can distinguish client–server, pipe-and-filter, MVC and peer-to-peer.
- I can identify the problem, refactoring and trade-off for each SOLID principle.
- I can explain why e-book orders should not implement packageOrder() and deliver() (split into Physical/OnlineDeliveryProcessing).
- I can distinguish Factory Method from Builder and Facade from Adapter.
- I can identify Iterator, Observer and Strategy from an unfamiliar scenario.
- I can explain at least one advantage and one cost of introducing each pattern.
