Separates the construction of a complex object from its representation so that the same construction process can create different representations.
A 'HouseBuilder'. You can call .setWalls(4), .setRoof('Shingle'), .addGarage().build(). You can use the same builder to make a different house.
class Builder:\n def __init__(self):\n pass\n\n def execute(self):\n print('Executing Builder')