final review of design patterns