Definisi: Corak kaedah kilang adalah abstraksi lanjut daripada corak kilang yang mudah ialah ia membolehkan sistem memperkenalkan produk baharu tanpa mengubah kod asal , yang memenuhi keperluan prinsip penutupan. Cipta antara muka untuk instantiasi objek dan biarkan subkelas menentukan kelas mana yang instantiation, dengan itu menangguhkan proses instantiation kelas kepada subclass.
Kilang Konkrit (ConcreteFactory): melaksanakan kaedah yang ditakrifkan oleh kilang abstrak untuk melengkapkan penciptaan produk tertentu
Produk Abstrak (Produk): mentakrifkan spesifikasi produk dan menerangkan ciri dan prestasi utama produk
Produk Konkrit (ConcreteProduct): melaksanakan kaedah mentakrifkan produk abstrak, dengan kilang konkrit untuk mencipta produk, kilang konkrit dan konkrit Surat-menyurat satu-satu antara produk
4 Pelaksanaan kod
/** * 抽象工厂:提供具体工厂的共有方法 */ public interface Product { public void show(); } public class ConcreteProduct1 implements Product { @Override public void show() { System.out.println("具体产品1展示..."); } } public class ConcreateProduct2 implements Product { @Override public void show() { System.out.println("具体产品2展示..."); } } /** * 抽象工厂 */ public interface AbstractFactory { public Product createProduct(); } /** * 具体工厂1产生具体产品1 */ public class ConcreteFactory1 implements AbstractFactory { @Override public Product createProduct() { ConcreteProduct1 concreteProduct1 = new ConcreteProduct1(); System.out.println("具体工厂1创建具体产品1..."); return concreteProduct1; } public class ConcreteFactory2 implements AbstractFactory { @Override public Product createProduct() { System.out.println("具体工厂2产生具体产品2..."); return new ConcreateProduct2(); } }
Kaedah panggilan:
//获取具体产品1 Product product = new ConcreteFactory1().createProduct(); product.show(); Product product1 = new ConcreteFactory2().createProduct(); product1.show();
Langkah penggunaan:
Keluar dari penciptaan produk khusus ke subkelas kelas kilang (kilang khusus Pada masa ini, kelas kilang tidak lagi bertanggungjawab untuk penciptaan semua produk, tetapi memberikan antara muka yang mesti kilang tertentu). melaksanakan, supaya kaedah kilang adalah Apabila menambah produk baru, tidak perlu mengubah logik kelas kilang Sebaliknya, subkelas kilang baru ditambah, yang mematuhi prinsip pembukaan dan penutup.
6. Kelebihan dan kekurangan
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan corak kaedah kilang menggunakan kod Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!