Sobes.tech
Junior — Middle

In welke gevallen en voor welke taken wordt het Factory Method patroon toegepast?

sobes.tech AI

Antwoord van AI

Het Factory Method-patroon wordt gebruikt om objecten te maken zonder de specifieke klasse van het te maken object aan te geven. Dit is handig wanneer:

  • Het creëren van objecten gedelegeerd moet worden aan subklassen.
  • Flexibiliteit en uitbreidbaarheid van de code vereist zijn.
  • De logica van het maken van objecten verborgen moet worden voor de klant.

Voorbeeld in Python:

from abc import ABC, abstractmethod

class Transport(ABC):
    @abstractmethod
    def deliver(self):
        pass

class Truck(Transport):
    def deliver(self):
        print("Levering met vrachtwagen")

class Ship(Transport):
    def deliver(self):
        print("Levering met schip")

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()

# Gebruik
logistics = RoadLogistics()
logistics.plan_delivery()  # Output: Levering met vrachtwagen

Op deze manier maakt het Factory Method-patroon het mogelijk om objecten van verschillende klassen te maken zonder de code die ze gebruikt te wijzigen.