Junior — Middle
In welchen Fällen und für welche Aufgaben wird das Factory Method Pattern angewendet?
sobes.tech KI
Antwort von AI
Das Factory Method-Muster wird verwendet, um Objekte zu erstellen, ohne die konkrete Klasse des zu erstellenden Objekts anzugeben. Dies ist nützlich, wenn:
- Die Erstellung von Objekten an Unterklassen delegiert werden soll.
- Flexibilität und Erweiterbarkeit des Codes gewährleistet werden sollen.
- Die Logik der Objekterstellung vor dem Kunden verborgen werden soll.
Beispiel in Python:
from abc import ABC, abstractmethod
class Transport(ABC):
@abstractmethod
def deliver(self):
pass
class Truck(Transport):
def deliver(self):
print("Lieferung mit LKW")
class Ship(Transport):
def deliver(self):
print("Lieferung mit Schiff")
class Logistics(ABC):
@abstractmethod
def create_transport(self) -> Transport:
pass
def plan_delivery(self):
transport = self.create_transport()
transport.deliver()
class RoadLogistics(Logistics):
def create_transport(self) -> Transport:
return Truck()
class SeaLogistics(Logistics):
def create_transport(self) -> Transport:
return Ship()
# Verwendung
logistics = RoadLogistics()
logistics.plan_delivery() # Ausgabe: Lieferung mit LKW
Auf diese Weise ermöglicht das Factory Method-Muster die Erstellung verschiedener Klassenobjekte, ohne den Code, der sie verwendet, zu ändern.