Sobes.tech
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.