Rumah > Java > javaTutorial > Analisis kes corak pembina di Jawa

Analisis kes corak pembina di Jawa

王林
Lepaskan: 2023-05-10 10:40:15
ke hadapan
1479 orang telah melayarinya

Apakah itu Corak Pembina

Takrifan Corak Pembina: merujuk kepada reka bentuk yang memisahkan pembinaan objek kompleks daripada perwakilannya, supaya proses pembinaan yang sama boleh mencipta corak yang berbeza ialah dipanggil corak pembina. Ia memecahkan objek kompleks kepada berbilang objek mudah dan kemudian membinanya langkah demi langkah. Ia memisahkan perubahan daripada kebolehubah, iaitu komponen produk kekal tidak berubah, tetapi setiap bahagian boleh dipilih secara fleksibel.

Kelebihan

1. Enkapsulasi yang baik, pemisahan pembinaan dan persembahan.

2. Kebolehskalaan yang baik, setiap pembina khusus adalah bebas antara satu sama lain, yang kondusif untuk penyahgandingan sistem.

3. Pelanggan tidak perlu mengetahui butiran komposisi dalaman produk secara beransur-ansur tanpa sebarang kesan ke atas modul lain, menjadikannya lebih mudah untuk mengawal risiko terperinci.

Kelemahan

1. Komponen produk mestilah sama, yang mengehadkan skop penggunaannya.

2. Jika perubahan dalaman produk adalah rumit, pembina juga perlu membuat pengubahsuaian serentak, yang akan menyebabkan kos penyelenggaraan yang lebih tinggi pada masa hadapan.

Mata Pengetahuan

Mod pembina dan mod kilang mempunyai fokus yang berbeza: mod pembina memfokuskan pada proses pemasangan komponen, manakala mod kaedah kilang lebih memfokuskan pada proses penciptaan komponen. Tetapi kedua-duanya boleh digunakan bersama.

Pelaksanaan Corak Pembina

Kes: Miracle Doctor Doudou Alchemy

Peranan Produk (Produk): Pil

Pembina Abstrak: Resipi Alkimia Abstrak

Pembina Konkrit: Resipi Concrete Alchemy

Pengarah: Miracle Doctor Doudou

Miracle Doctor Doudou memperhalusi elixir sembilan pusingan dan Pil Ilahi Tai Void

Nota: Untuk menyelamatkan masalah , kandungan resipi pil yang disebutkan di sini hanya mengandungi nama dan kesan pil, dan tidak termasuk bahan atau sebagainya.

Elixir

Kelas elixir mengisytiharkan dua atribut: nama dan kesan elixir

public class Dan {
    /* cailiao 丹药的名称
           danhuo 丹药的效果*/
    private String name;
    private String xiaoguo;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getXiaoguo() {
        return xiaoguo;
    }

    public void setXiaoguo(String xiaoguo) {
        this.xiaoguo = xiaoguo;
    }
}
Salin selepas log masuk

Elixir abstrak

Kelas abstrak, objek elixir baharu , mengisytiharkan bahawa dua kaedah abstrak adalah menamakan eliksir dan memberikan eliksir kesannya, dan terdapat juga kaedah untuk menjana eliksir.

//抽象丹方
abstract class DanFang {
    Dan dan = new Dan();

    public abstract void name();

    public abstract void xiaoguo();

    public Dan getDan() {
        return dan;
    }

}
Salin selepas log masuk

Resipi elixir sembilan pusingan

Kelas resipi khusus mewarisi kelas resipi dan melaksanakan dua kaedah abstrak.

//九转仙丹丹方
public class JiuZhuan extends DanFang {

    @Override
    public void name() {
        dan.setName("九转仙丹");
    }

    @Override
    public void xiaoguo() {
        dan.setXiaoguo("原地成仙");
    }
}
Salin selepas log masuk

Taixuhuashendandanfang

Kelas Danfang khusus mewarisi kelas Danfang dan melaksanakan dua kaedah abstrak.

//太虚化神丹丹方
public class Taixu extends DanFang {
    @Override
    public void name() {
        dan.setName("太虚化神丹");
    }

    @Override
    public void xiaoguo() {
        dan.setXiaoguo("意念化神");
    }
}
Salin selepas log masuk

Doudou, doktor ajaib

Isytiharkan atribut elixir, kaedah pembina dengan parameter dan kaedah alkimia.

public class DouDou {
    private final DanFang danLu;

    public DouDou(DanFang danLu) {
        this.danLu = danLu;
    }

    //炼丹方法
    public Dan lian() {
        //放入材料
        danLu.name();
        //释放丹火
        danLu.xiaoguo();
        //成丹
        return danLu.getDan();
    }
}
Salin selepas log masuk

Ujian

Memurnikan dua eliksir.

public class Demo {
    public static void main(String[] args) {
        //炼制九转仙丹
        //new一个九转仙丹的丹方
        DanFang jiu = new JiuZhuan();
        //把丹方给豆豆
        DouDou dou = new DouDou(jiu);
        //炼丹生成丹药
        Dan dan = dou.lian();
        System.out.printf("丹药名称:%s   丹药效果:%s", dan.getName(), dan.getXiaoguo());


        System.out.println();

        //炼制太虚化神丹
        //new一个九转仙丹的丹方
        DanFang tai = new Taixu();
        //把丹方给豆豆
        DouDou dous = new DouDou(tai);
        //炼丹生成丹药
        Dan dans = dous.lian();
        System.out.printf("丹药名称:%s   丹药效果:%s", dans.getName(), dans.getXiaoguo());
    }
}
Salin selepas log masuk

Analisis kes corak pembina di Jawa

Atas ialah kandungan terperinci Analisis kes corak pembina di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Isu terkini
Bolehkah java digunakan sebagai bahagian belakang web?
daripada 1970-01-01 08:00:00
0
0
0
Tidak dapat memasang java
daripada 1970-01-01 08:00:00
0
0
0
Pasang JAVA
daripada 1970-01-01 08:00:00
0
0
0
Bagaimanakah php melaksanakan penyulitan sha1 java?
daripada 1970-01-01 08:00:00
0
0
0
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan