Untuk menyelesaikan masalah corak kaedah kilang: kilang tertentu hanya boleh mencipta satu jenis produk, tetapi dalam proses sebenar, kilang selalunya perlu menghasilkan banyak produk Dalam kes ini, corak kilang abstrak boleh digunakan .
1. Penyelesaian Corak Kilang Abstrak
Definisi: Menyediakan antara muka untuk mencipta satu siri objek yang berkaitan atau saling bergantung tanpa menyatakan kelas khusus mereka. Membolehkan kilang menghasilkan berbilang produk.
2. Gambarajah Kelas Kilang Abstrak UML
3. disediakan Antara muka untuk mencipta produk termasuk kaedah antara muka berbilang untuk mencipta produk, yang boleh mencipta berbilang produk pada tahap yang berbeza
Kilang Konkrit (ConcreteFactory): melaksanakan kaedah yang ditakrifkan oleh kilang abstrak untuk melengkapkan penciptaan produk tertentu
Produk abstrak (Produk): mentakrifkan spesifikasi produk, menerangkan ciri utama dan prestasi produk
Produk konkrit (ConcreteProduct): melaksanakan kaedah mentakrifkan produk abstrak, dan mempunyai kilang konkrit untuk mencipta produk , hubungan satu-ke-banyak antara kilang tertentu dan produk khusus
4 Pelaksanaan kod
Pelaksanaan kaedah kilang abstrak:
public interface AbstractFactory {
public Product1 createProduct1();
public Product2 createProduct2();
}
public class ConcreteFactory1 implements AbstractFactory {
@Override
public Product1 createProduct1() {
System.out.println("具体工厂1产生具体产品1...");
return new ConcreteProduct1();
}
@Override
public Product2 createProduct2() {
System.out.println("具体工厂1产生具体产品2...");
return new ConcreteProduct2();
}
}
Salin selepas log masuk
Langkah penggunaan:
Buat kelas produk abstrak dan tentukan kaedah awam produk Buat kelas produk konkrit (laksanakan antara muka produk abstrak) dan tentukan produk khusus yang dijana-
Buat kelas kilang abstrak dan tentukan antara muka awam kilang tertentu Kelas kilang boleh mencipta produk dengan tahap yang berbeza-
Buat kelas kilang konkrit dan tentukan kaedah untuk mencipta contoh produk khusus yang sepadan Pemanggil memanggil kaedah kelas kilang khusus untuk mencipta kejadian produk khusus yang berbeza 5 Satu lagi penerokaan kaedah kilang abstrak
Menyelesaikan masalah: Setiap kilang hanya boleh mencipta satu jenis produk, yang merupakan kelemahan kaedah kilang
6. Kebaikan dan keburukan
Kebaikan:
Anda boleh bersama-sama menguruskan produk pelbagai peringkat yang dikaitkan dengan produk dalam kelas kilang tanpa perlu memperkenalkan kelas baharu secara khusus untuk pengurusan Kilang abstrak meningkatkan kebolehskalaan program Apabila menambah keluarga produk baharu, tidak perlu mengubah suai kod sumber untuk memenuhi prinsip pembukaan dan penutupan - .
Kelemahan:
Apabila keluarga produk baharu Apabila menambah jenis produk, semua kelas kilang perlu diubah suai, yang meningkatkan abstraksi dan kesukaran memahami sistem 7. Contoh yang boleh digunakan
Disediakan sebagai Penghormatan Raja Terdapat banyak wira dibahagikan kepada penembak, pembantu, jungler, kereta kebal dan profesion lain. Profesi yang berbeza mempunyai kemahiran dan sifat yang berbeza. Isytiharkan berbilang subkategori kilang seperti kereta kebal, ahli sihir dan pembunuh upahan, dan setiap kilang boleh menghasilkan aplikasi kemahiran yang sepadan.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan kod corak kilang abstrak di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!