Rumah > Java > javaTutorial > Bilakah Anda Harus Menggunakan Corak Pembina?

Bilakah Anda Harus Menggunakan Corak Pembina?

Mary-Kate Olsen
Lepaskan: 2024-12-25 11:16:10
asal
855 orang telah melayarinya

When Should You Use the Builder Pattern?

Bila Menggunakan Corak Pembina

Corak Pembina biasanya digunakan apabila kelas memerlukan pembina atau kilang dengan banyak parameter. Ia memberikan beberapa kelebihan berbanding pembina teleskop dan corak JavaBeans.

  • Menghapuskan Senarai Pembina yang Panjang dan Tidak Konsisten: Pembina teleskop mencipta senarai parameter yang panjang dan kompleks, menjadikannya sukar untuk mengingati pesanannya dan tujuan.
  • Menghalang Objek Tidak Konsisten Keadaan: JavaBeans, walaupun lebih bersih daripada pembina teleskop, boleh mengakibatkan keadaan objek yang tidak konsisten semasa pembinaan disebabkan oleh beberapa panggilan pembina dan penetap.

Faedah Corak Pembina:

  • Pemusatan Parameter: Kelas Builder menyatukan semua nilai parameter ke dalam satu lokasi, menjadikannya mudah untuk menetapkan dan mengubah suai pilihan.
  • Ketidakbolehubahan: Objek yang dibina adalah tidak berubah, memastikan ketekalannya dan menghalang gabungan parameter tidak sah.
  • Chaining: Panggilan kaedah Builder mengembalikan Builder contohnya, membenarkan mereka dirantai untuk kod ringkas dan boleh dibaca.

Contoh dalam Java:

Kod Java berikut menunjukkan Corak Pembina untuk menyesuaikan Pizza objek:

public class Pizza {
    private int size;
    private boolean cheese;
    private boolean pepperoni;
    private boolean bacon;

    public static class Builder {
        private final int size;
        private boolean cheese = false;
        private boolean pepperoni = false;
        private boolean bacon = false;

        public Builder(int size) {
            this.size = size;
        }

        public Builder cheese(boolean value) {
            cheese = value;
            return this;
        }

        public Builder pepperoni(boolean value) {
            pepperoni = value;
            return this;
        }

        public Builder bacon(boolean value) {
            bacon = value;
            return this;
        }

        public Pizza build() {
            return new Pizza(this);
        }
    }

    private Pizza(Builder builder) {
        size = builder.size;
        cheese = builder.cheese;
        pepperoni = builder.pepperoni;
        bacon = builder.bacon;
    }
}
Salin selepas log masuk

Corak Pembina ini memudahkan penyesuaian piza dan membenarkan pilihan untuk ditambah, dialih keluar atau diubah suai tanpa memerlukan pembina tambahan atau panggilan kaedah yang kompleks.

Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan Corak Pembina?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan