Sobes.tech
Junior — Middle
94

Hangi durumlarda ve hangi görevler için Factory Method deseni kullanılır?

Sorulan şirketler
ArendadataArendadata

AI'dan gelen yanıt

sobes.tech yapay zeka

Factory Method Deseni, oluşturulan nesnenin belirli sınıfını belirtmeden nesneler oluşturmak için kullanılır. Bu, şu durumlarda faydalıdır:

  • Nesne oluşturma işlemini alt sınıflara devretmek gerekirse.
  • Kodun esnekliğini ve genişletilebilirliğini sağlamak isteniyorsa.
  • Nesne oluşturma mantığını müşteriden gizlemek gerekiyorsa.

Python örneği:

from abc import ABC, abstractmethod

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

class Truck(Transport):
    def deliver(self):
        print("Tır ile teslimat")

class Ship(Transport):
    def deliver(self):
        print("Gemi ile teslimat")

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

# Kullanım
logistics = RoadLogistics()
logistics.plan_delivery()  # Çıktı: Tır ile teslimat

Bu şekilde, Factory Method farklı sınıf nesneleri oluşturmayı sağlar ve kullanan kodu değiştirmeden yeni nesne türleri eklenebilir.