


Fahami kelebihan dan senario yang boleh digunakan bagi corak penghias dan corak strategi: membina kaedah kod Java yang mudah diselenggara
Membina kod Java yang boleh diselenggara: Memahami kelebihan dan senario terpakai bagi corak penghias dan corak strategi memerlukan contoh kod khusus
Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat pembangunan perisian, membina kod yang boleh diselenggara telah menjadi isu penting untuk semua orang . Ini adalah isu yang amat dititikberatkan oleh pembangun. Kod yang boleh diselenggara boleh mengurangkan kesukaran penyelenggaraan kemudian dan meningkatkan kebolehbacaan dan kebolehskalaan kod. Dalam pembangunan Java, corak penghias dan corak strategi ialah dua corak reka bentuk yang biasa digunakan, yang boleh membantu kami membina kod yang lebih boleh diselenggara.
Corak penghias ialah corak reka bentuk struktur yang membolehkan kita menambah fungsi baharu pada objek secara dinamik tanpa mengubah struktur objek sedia ada. Mod ini mencapai kesan menambah kefungsian secara dinamik pada objek dengan membalut objek dalam kelas hiasan, dan kemudian menindih kelas hiasan secara rekursif mengikut keperluan semasa masa jalan.
Di bawah ini kami menunjukkan penggunaan corak penghias melalui contoh tertentu. Katakan kita ada program kedai kopi yang ringkas Kedai kopi menyediakan pelbagai minuman kopi, seperti espresso, mocha, dll. Setiap minuman kopi mempunyai harga asas, dengan pilihan untuk menambah bahan tambahan seperti susu, sirap dan lain-lain, yang masing-masing mempunyai harga. Kita boleh menggunakan corak penghias untuk mencapai fungsi ini.
Pertama, kami mentakrifkan antara muka minuman kopi asas:
public interface Coffee { double getPrice(); String getDescription(); }
Kemudian, kami melaksanakan kelas minuman kopi tertentu:
public class Espresso implements Coffee { @Override public double getPrice() { return 3.5; } @Override public String getDescription() { return "Espresso"; } }
Seterusnya, kami mentakrifkan kelas abstrak penghias, yang melaksanakan antara muka minuman kopi.
public abstract class CoffeeDecorator implements Coffee { private Coffee coffee; public CoffeeDecorator(Coffee coffee) { this.coffee = coffee; } @Override public double getPrice() { return coffee.getPrice(); } @Override public String getDescription() { return coffee.getDescription(); } }
Kemudian, kita boleh melaksanakan kelas penghias tertentu, seperti penghias untuk menambah susu dan penghias untuk menambah sirap.
public class MilkDecorator extends CoffeeDecorator { public MilkDecorator(Coffee coffee) { super(coffee); } @Override public double getPrice() { return super.getPrice() + 1.0; // 添加牛奶的价格 } @Override public String getDescription() { return super.getDescription() + ", Milk"; // 添加描述信息 } } public class SyrupDecorator extends CoffeeDecorator { public SyrupDecorator(Coffee coffee) { super(coffee); } @Override public double getPrice() { return super.getPrice() + 0.5; // 添加糖浆的价格 } @Override public String getDescription() { return super.getDescription() + ", Syrup"; // 添加描述信息 } }
Akhir sekali, kita boleh menggunakan corak penghias untuk membina minuman kopi yang berbeza. Sebagai contoh, kita boleh mencipta espresso dan kemudian menambah susu dan sirap secara rekursif.
Coffee espresso = new Espresso(); Coffee coffeeWithMilkAndSyrup = new SyrupDecorator(new MilkDecorator(espresso)); System.out.println(coffeeWithMilkAndSyrup.getDescription()); System.out.println(coffeeWithMilkAndSyrup.getPrice());
Hasil keluaran kod di atas ialah:
Espresso, Milk, Syrup 5.0
Dengan menggunakan corak penghias, kita boleh menambah bahan secara fleksibel pada minuman kopi tanpa mengubahsuai kelas minuman kopi asal. Dengan cara ini, kita boleh dengan lebih mudah melanjutkan fungsi minuman kopi, dan pada masa yang sama meningkatkan kebolehselenggaraan kod.
Satu lagi corak reka bentuk yang biasa digunakan ialah corak strategi, iaitu corak reka bentuk tingkah laku yang digunakan untuk memilih strategi yang sesuai untuk algoritma pada masa jalan. Corak strategi merangkum algoritma ke dalam kelas strategi bebas, dan kemudian menggunakan kelas konteks untuk memilih strategi yang sesuai untuk pelaksanaan.
Di bawah ini kami menunjukkan penggunaan corak strategi melalui contoh mudah. Katakan kita mempunyai platform e-dagang dan perlu melaksanakan sistem pembayaran. Sistem pembayaran ini perlu menyokong berbilang kaedah pembayaran, seperti Alipay, WeChat Pay, dsb. Kita boleh menggunakan corak strategi untuk mencapai fungsi ini.
Pertama, kami mentakrifkan antara muka pembayaran:
public interface PaymentStrategy { void pay(double amount); }
Kemudian, kami melaksanakan kelas strategi pembayaran khusus:
public class AlipayStrategy implements PaymentStrategy { @Override public void pay(double amount) { System.out.println("Pay " + amount + " RMB via Alipay"); } } public class WechatPayStrategy implements PaymentStrategy { @Override public void pay(double amount) { System.out.println("Pay " + amount + " RMB via Wechat Pay"); } }
Seterusnya, kami menentukan kelas konteks untuk memilih strategi pembayaran yang sesuai:
public class PaymentContext { private PaymentStrategy paymentStrategy; public void setPaymentStrategy(PaymentStrategy paymentStrategy) { this.paymentStrategy = paymentStrategy; } public void pay(double amount) { paymentStrategy.pay(amount); } }
Akhir sekali, kami boleh menggunakan strategi Corak untuk melaksanakan sistem pembayaran. Sebagai contoh, kita boleh memilih pembayaran Alipay atau pembayaran WeChat.
PaymentContext context = new PaymentContext(); // 使用支付宝支付 context.setPaymentStrategy(new AlipayStrategy()); context.pay(100); // 使用微信支付 context.setPaymentStrategy(new WechatPayStrategy()); context.pay(200);
Hasil keluaran kod di atas ialah:
Pay 100.0 RMB via Alipay Pay 200.0 RMB via Wechat Pay
Dengan menggunakan corak strategi, kami boleh mengasingkan strategi pembayaran daripada kelas konteks, menjadikannya lebih mudah untuk menambah dan mengubah suai strategi pembayaran, meningkatkan kebolehselenggaraan dan keselamatan daripada kod.
Ringkasnya, kedua-dua corak penghias dan corak strategi adalah alat yang berkesan untuk membantu kami membina kod Java yang boleh diselenggara. Corak penghias boleh membantu kami menambah kefungsian pada objek secara dinamik, manakala corak strategi boleh membantu kami memilih algoritma yang sesuai semasa masa jalan. Memahami kelebihan dan senario yang boleh digunakan bagi kedua-dua mod ini, dan menguasai kaedah pelaksanaan khusus mereka, akan membantu kami menulis kod yang lebih boleh diselenggara.
Atas ialah kandungan terperinci Fahami kelebihan dan senario yang boleh digunakan bagi corak penghias dan corak strategi: membina kaedah kod Java yang mudah diselenggara. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Menyedari kesan animasi cinta melalui kod Java Dalam bidang pengaturcaraan, kesan animasi adalah sangat biasa dan popular. Pelbagai kesan animasi boleh dicapai melalui kod Java, salah satunya ialah kesan animasi jantung. Artikel ini akan memperkenalkan cara menggunakan kod Java untuk mencapai kesan ini dan memberikan contoh kod khusus. Kunci untuk merealisasikan kesan animasi jantung ialah melukis corak berbentuk hati dan mencapai kesan animasi dengan menukar kedudukan dan warna bentuk jantung. Berikut ialah kod untuk contoh mudah: importjavax.swing.

Bagaimana untuk mereka bentuk struktur jadual MySQL yang boleh diselenggara untuk melaksanakan fungsi tempahan dalam talian? Dalam kehidupan seharian, semakin ramai orang memilih perkhidmatan temu janji dalam talian. Sama ada membuat temu janji dengan doktor, membuat temujanji untuk makanan, membuat temu janji di tempat, dll., sistem temu janji dalam talian yang boleh dipercayai dan cekap adalah penting untuk menyediakan perkhidmatan yang berkualiti. Sebelum mereka bentuk struktur jadual MySQL yang boleh diselenggara untuk melaksanakan fungsi tempahan dalam talian, anda perlu mempertimbangkan aspek berikut: Pertama, kita perlu mencipta jadual untuk menyimpan maklumat pengguna. Jadual ini akan mengandungi nama pengguna, nombor telefon, alamat e-mel, dsb.

Cara memanggil API Amap melalui kod Java untuk melaksanakan pengiraan jarak laluan Memandangkan permintaan orang ramai untuk keadaan trafik masa nyata dan navigasi meningkat, perancangan laluan peta menjadi semakin penting. Sebagai penyedia perkhidmatan peta terkemuka di China, fungsi perancangan laluan Amap digemari oleh majoriti pembangun. Artikel ini akan memperkenalkan cara memanggil API Amap melalui kod Java untuk melaksanakan pengiraan jarak laluan. API Amap menyediakan satu siri antara muka yang kaya, termasuk pengekodan geo, pengekodan geo terbalik, perancangan laluan dan fungsi lain. Dalam artikel ini, kami akan memberi tumpuan kepada

Corak strategi dalam rangka kerja Java digunakan untuk menukar gelagat kelas secara dinamik termasuk: Rangka kerja Spring: pengesahan data dan pengurusan cache Rangka kerja JakartaEE: pengurusan transaksi dan suntikan pergantungan rangka kerja JSF: penukar dan pengesah, pengurusan kitaran hayat tindak balas.

Tafsiran dokumentasi API Amap: Kod Java melaksanakan pertanyaan maklumat ketibaan bas masa nyata Dengan populariti telefon pintar dan pembangunan pengangkutan bandar, perjalanan bas telah menjadi bahagian yang amat diperlukan dalam kehidupan bandar moden. Sebagai penyedia perkhidmatan peta terkemuka di China, Amap menyediakan fungsi maklumat bas yang sangat berkuasa dan boleh menanyakan maklumat ketibaan bas masa nyata. Artikel ini akan memperkenalkan cara melaksanakan fungsi ini dengan mentafsir dokumentasi API Amap dan menyediakan contoh kod Java. Pertama, kita perlu memahami API Amap

Cara memanggil API Amap melalui kod Java untuk melaksanakan fungsi perancangan laluan Navigasi peta telah menjadi salah satu fungsi penting dalam kehidupan seharian kita. Dalam aplikasi mudah alih moden, banyak aplikasi telah menyepadukan fungsi perancangan laluan untuk membantu pengguna mencari laluan pemanduan, berjalan kaki atau pengangkutan awam yang optimum. API Amap menyediakan antara muka dan fungsi yang kaya untuk memudahkan pembangun melaksanakan fungsi navigasi peta dengan mudah. Artikel ini akan memperkenalkan cara memanggil API Amap melalui kod Java untuk melaksanakan fungsi perancangan laluan. Pertama, kita perlu mendaftarkan Amap

Contoh kod Java: Menggunakan antara muka Alibaba Cloud DTS untuk mencapai penyegerakan pangkalan data Pengenalan: Dengan perkembangan pesat pengkomputeran awan dan data besar, penyegerakan pangkalan data telah menjadi salah satu keperluan yang amat diperlukan oleh banyak perusahaan. Perkhidmatan Pemindahan Data (DTS) Alibaba Cloud menyediakan fungsi penyegerakan pangkalan data yang berkuasa, yang boleh membantu perusahaan dengan cepat dan cekap mencapai penyegerakan data antara pangkalan data yang berbeza. Artikel ini akan memperkenalkan cara menggunakan antara muka Alibaba Cloud DTS untuk mencapai penyegerakan pangkalan data, dan menyediakan contoh kod Java yang sepadan. 1. Persediaan: Sebelum bermula, kita perlu

Python dan Java adalah dua bahasa pengaturcaraan yang digunakan secara meluas dalam industri pembangunan perisian. Mereka masing-masing mempunyai pelbagai kelebihan dan kekurangan dan sesuai untuk pelbagai jenis projek. Python terkenal dengan kemudahan penggunaan dan kebolehbacaannya, manakala Java terkenal dengan keteguhan dan prestasinya. Salah satu perbezaan utama antara Python dan Java ialah cara ia ditulis. Python mempunyai sintaks yang lebih longgar yang menjadikan penulisan dan pemahaman kod lebih mudah, manakala Java mempunyai sintaks yang lebih ketat yang boleh menjadikan penulisan dan pemahaman kod agak mencabar. Walaupun perubahan ini, ramai pembangun mendapati diri mereka berada dalam situasi di mana mereka perlu menukar kod Python kepada kod Java, sebagai contoh, untuk bekerja pada projek yang memerlukan Java
