Sobes.tech
Junior — Middle

¿Puede dar un ejemplo de uso de un patrón de comportamiento en el diseño de software?

sobes.tech AI

Respuesta de la IA

Поведенческие паттерны проектирования описывают способы взаимодействия между объектами и распределение обязанностей.

Пример: паттерн "Стратегия" (Strategy).

Он позволяет определить семейство алгоритмов, инкапсулировать каждый из них и делать их взаимозаменяемыми. Это помогает изменять поведение объекта во время выполнения без изменения его кода.

Пример на Java:

// Интерфейс стратегии
interface PaymentStrategy {
    void pay(int amount);
}

// Конкретные стратегии
class CreditCardPayment implements PaymentStrategy {
    public void pay(int amount) {
        System.out.println("Оплата кредитной картой: " + amount);
    }
}

class PayPalPayment implements PaymentStrategy {
    public void pay(int amount) {
        System.out.println("Оплата через PayPal: " + amount);
    }
}

// Контекст
class ShoppingCart {
    private PaymentStrategy paymentStrategy;

    public void setPaymentStrategy(PaymentStrategy strategy) {
        this.paymentStrategy = strategy;
    }

    public void checkout(int amount) {
        paymentStrategy.pay(amount);
    }
}

// Использование
ShoppingCart cart = new ShoppingCart();
cart.setPaymentStrategy(new CreditCardPayment());
cart.checkout(1000);

cart.setPaymentStrategy(new PayPalPayment());
cart.checkout(2000);