Lets you define a family of algorithms, put each of them into a separate class, and make their objects interchangeable.
A GPS App. You can switch routing strategy: 'Walking', 'Driving', or 'Public Transport'. The map logic remains the same.
class Strategy:\n def __init__(self):\n pass\n\n def execute(self):\n print('Executing Strategy')