Course project: improving cohesion and reducing coupling
Using the initial definition provided for Show and Promotion, reassign the responsibilities to support the best reuse and division of labor among the objects:
Show, Purpose: Define a single presentation of an event.
Responsibility: Set the date and time of the performance
Refactored definition
The refactored solution is designed to provide the maximum reuse of promotions. A promotion becomes a general pricing strategy that could be applied to any number of Shows instead of a strategy that is unique to a Show