Код IT Загрузка примера кода…

Python main.py
# Плохо: фабрика стратегий для единственного способа оплаты
class PaymentStrategy(ABC):
    @abstractmethod
    def pay(self, amount): ...

class CardPayment(PaymentStrategy):
    def pay(self, amount):
        charge_card(amount)

class PaymentFactory:
    @staticmethod
    def create(kind: str) -> PaymentStrategy:
        if kind == "card":
            return CardPayment()
        raise ValueError(kind)

# Вызов: PaymentFactory.create("card").pay(100)
# Плохо: фабрика стратегий для единственного способа оплаты
class PaymentStrategy(ABC):
    @abstractmethod
    def pay(self, amount): ...

class CardPayment(PaymentStrategy):
    def pay(self, amount):
        charge_card(amount)

class PaymentFactory:
    @staticmethod
    def create(kind: str) -> PaymentStrategy:
        if kind == "card":
            return CardPayment()
        raise ValueError(kind)

# Вызов: PaymentFactory.create("card").pay(100)