Rumah > Java > javaTutorial > teks badan

Bagaimana untuk melaksanakan corak kaedah kilang menggunakan kod Java

WBOY
Lepaskan: 2023-05-16 17:46:15
ke hadapan
871 orang telah melayarinya

1. Pengenalan kepada corak kaedah kilang

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.

2. Gambar rajah kelas corak kaedah kilang UML

Bagaimana untuk melaksanakan corak kaedah kilang menggunakan kod Java

3 produk, yang melaluinya pemanggil mengakses kaedah kilang kilang tertentu untuk mencipta produk

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

Pelaksanaan corak kaedah kilang:

/**
 * 抽象工厂:提供具体工厂的共有方法
 */
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();
    }
}
Salin selepas log masuk

Kaedah panggilan:

//获取具体产品1
        Product product = new ConcreteFactory1().createProduct();
        product.show();

        Product product1 = new ConcreteFactory2().createProduct();
        product1.show();
Salin selepas log masuk

Langkah penggunaan:

    Buat kelas produk abstrak dan tentukan kaedah awam produk
  • Buat kelas produk konkrit (laksanakan produk abstrak antara muka) dan tentukan produk khusus yang dijana
  • Buat kelas kilang abstrak dan tentukan antara muka awam kilang tertentu
  • Buat kilang tertentu kelas dan tentukan kaedah untuk mencipta contoh produk khusus yang sepadan
  • Pemanggil memanggil kaedah kelas kilang khusus untuk mencipta kejadian produk khusus yang berbeza
  • 5. Terokai corak kilang sekali lagi

Selesaikan masalah: Selesaikan Ia menyelesaikan masalah mengubah suai logik kaedah kelas kilang apabila menambah produk baru ke kelas kilang mudah, iaitu pembukaan dan penutupan khas prinsip.

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

Kelebihan:

    Kefleksibelan tinggi Untuk mencipta produk baharu, anda hanya perlu menulis satu lagi kilang yang sepadan kelas
  • Pengguna hanya perlu membimbing nama kilang untuk mendapatkan produk yang mereka inginkan, dan tidak perlu membimbing proses penciptaan produk tertentu
  • Kelemahan:

    Mudah untuk mempunyai terlalu banyak kelas, yang meningkatkan kerumitan
  • Setiap kilang hanya boleh menghasilkan satu jenis Produk. Kelemahan ini boleh diselesaikan dengan menggunakan corak kilang yang abstrak
  • 7 Senario aplikasi

Pelanggan hanya memberi perhatian kepada nama kilang yang mencipta produk. , dan tidak perlu mengetahui nama produk tertentu

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!