Corak Strategi menangani keperluan untuk menentukan keluarga algoritma, merangkum setiap satu dan menjadikannya boleh ditukar ganti. Corak ini membolehkan algoritma berbeza secara bebas daripada pelanggan yang menggunakannya. Ia berguna apabila anda mempunyai pelbagai cara untuk melaksanakan tugas tertentu dan ingin memilih algoritma semasa masa jalan.
Corak Strategi melibatkan tiga komponen utama:
Konteks mewakilkan pelaksanaan algoritma kepada objek strategi, yang membolehkan algoritma dipilih pada masa jalan.
Contoh praktikal corak Strategi adalah dalam sistem pemprosesan pembayaran yang kaedah pembayaran yang berbeza (cth., kad kredit, PayPal, pindahan bank) dilaksanakan sebagai strategi yang berbeza. Pelanggan boleh memilih strategi pembayaran yang sesuai semasa masa jalan.
Corak strategi dalam kod:
java // Strategy Interface public interface PaymentStrategy { void pay(int amount); } // Concrete Strategy 1 public class CreditCardPayment implements PaymentStrategy { private String cardNumber; public CreditCardPayment(String cardNumber) { this.cardNumber = cardNumber; } @Override public void pay(int amount) { System.out.println(amount + " paid with credit card " + cardNumber); } } // Concrete Strategy 2 public class PayPalPayment implements PaymentStrategy { private String email; public PayPalPayment(String email) { this.email = email; } @Override public void pay(int amount) { System.out.println(amount + " paid using PayPal account " + email); } } // Context public class ShoppingCart { private PaymentStrategy paymentStrategy; public void setPaymentStrategy(PaymentStrategy paymentStrategy) { this.paymentStrategy = paymentStrategy; } public void checkout(int amount) { paymentStrategy.pay(amount); } } // Client code public class Client { public static void main(String[] args) { ShoppingCart cart = new ShoppingCart(); cart.setPaymentStrategy(new CreditCardPayment("1234-5678-9876-5432")); cart.checkout(100); cart.setPaymentStrategy(new PayPalPayment("user@example.com")); cart.checkout(200); } }
Atas ialah kandungan terperinci Memahami Corak Reka Bentuk Strategi di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!