Title: Factory

### Factory

Eine Factory-Methode entscheidet, welches Objekt erzeugt wird. Aufrufender Code bleibt dadurch einfacher.

class Circle:
def draw(self):
return "circle"

class Square:
def draw(self):
return "square"

def create_shape(name):
if name == "circle":
return Circle()
if name == "square":
return Square()
raise ValueError("unknown shape")

shape = create_shape("circle")
print(shape.draw())

Erweitere die Factory um `Triangle`.

class Circle:
def draw(self):
return "circle"

def create_shape(name):
if name == "circle":
return Circle()