Назад к вопросам
Junior — Middle
91
Можете привести пример использования поведенческого паттерна в проектировании программного обеспечения?
Ответ от нейросети
sobes.tech AI
Поведенческие паттерны проектирования описывают способы взаимодействия между объектами и распределение обязанностей.
Пример: паттерн "Стратегия" (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);