Junior — Middle
Стратегия үлгүсү деген эмне жана аны программалык камсыздоону иштеп чыгууда кантип колдонуу керектигин түшүндүрө аласызбы?
sobes.tech AI
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(500);
Бул ыкма кодду кеңейтүүнү жана тейлөөдө жеңилдетет, жаңы алгоритмдерди кошууга мүмкүндүк берет, ал эми бардыгын өзгөртпөстөн.