Strategy pattern (Video)
Design patterns capture proven object-oriented experience,
address issues of change in software. Once you know the pattern, a lot of design decisions follow automatically.
For every developer seeking professionalism in their careers