Good Engineers Code, Great Engineers Design

walk through a practical example of designing notification system and observer how design patterns emerge naturally from requirements