Andaikan kita perlu membina rumah: prosesnya ialah cerucuk, membina dinding, dan menutup. Terdapat pelbagai jenis rumah, seperti rumah biasa, bangunan tinggi, dan vila Walaupun prosesnya sama untuk semua jenis rumah, syaratnya tidak sama 3) Sila tulis program untuk melengkapkan keperluan.
Idea tradisional hendaklah dalam bentuk rajah kelas berikut. .
Kelebihan kaedah penulisan ini ialah ia lebih mudah difahami dan mudah dikendalikan.
Kelemahannya ialah: struktur atur cara yang direka bentuk terlalu mudah, tiada objek lapisan cache yang direka bentuk dan atur cara tidak boleh dikembangkan dan diselenggara dengan baik. Dalam erti kata lain, skema reka bentuk ini merangkumi produk (iaitu: rumah) dan proses mencipta produk (iaitu: proses pembinaan rumah), dan gandingan dipertingkatkan.
Penyelesaian: Asingkan produk dan proses pembinaan produk => Corak pembina.
Corak Pembina, juga dipanggil corak penjana, ialah corak pembinaan objek Ia boleh mengabstraksikan proses pembinaan objek kompleks (kategori abstrak), menjadikan pengabstrakan ini Kaedah pelaksanaan proses yang berbeza boleh. bina objek dengan prestasi (sifat) yang berbeza
Corak pembina adalah untuk mencipta objek kompleks langkah demi langkah, yang membolehkan pengguna hanya menentukan jenis objek kompleks dan kandungan boleh membinanya, pengguna tidak perlu mengetahui butiran pembinaan khusus di dalam
Dan terdapat empat peranan utama dalam mod pembina:
Produk (peranan produk): Sebuah objek produk tertentu 🎜>ConcreteBuilder (Concrete Builder): Melaksanakan antara muka, membina dan memasang pelbagai komponen
Pengarah (Konduktor): Membina objek menggunakan antara muka Builder objek yang kompleks. Ia mempunyai dua fungsi utama: satu adalah untuk mengasingkan proses pengeluaran pelanggan dan objek, dan satu lagi adalah untuk mengawal proses pengeluaran objek produk >
3 🎜>Jika kes membina rumah di atas diselesaikan menggunakan corak pembina, maka rajah kelas akan menjadi seperti berikut (empat peranan utama ada di dalamnya), dan kelas House akan menjadi daripada rumah yang ingin kami bina), HouseBuilder ialah pembina abstrak Proses pembinaan khusus tidak dilaksanakan secara dalaman, tetapi diselesaikan oleh beberapa subkelas di bawahnya ialah pembina konkrit (CommonHouse , HighBuilding), ketuanya ialah HouseDirector. yang manakah bertanggungjawab untuk proses pembinaan objek produk (apa jenis rumah yang saya ingin bina)? dalam JDKInterface Appendable mentakrifkan pelbagai kaedah tambahan (kaedah abstrak), iaitu, yang boleh dibina adalah pembina abstrak dan mentakrifkan kaedah abstrak.
AbstractStringBuilder melaksanakan kaedah antara muka Appendable The AbstractStringBuilder di sini sudah menjadi pembina, tetapi ia tidak boleh digunakan.StringBuilder bertindak sebagai komander dan pembina khusus Pelaksanaan kaedah pembinaan diselesaikan oleh AbstractStringBuilder, dan StringBuilder mewarisi AbstractStringBuilder.
4. Ringkasan Corak PembinaPelanggan (program pengguna) tidak perlu mengetahui butiran komposisi dalaman produk , dan produk itu sendiri dan produk Proses penciptaan dipisahkan supaya proses penciptaan yang sama boleh mencipta objek produk yang berbeza.
Setiap pembina khusus secara relatifnya bebas dan tiada kaitan dengan pembina khusus lain, jadi mudah untuk menggantikan pembina tertentu atau menambah pembina khusus baharu, dan pengguna menggunakan berbeza Pembina khusus boleh dapatkan objek produk yang berbeza.Produk yang dicipta oleh mod pembina umumnya mempunyai lebih banyak persamaan dan komponennya adalah serupa Jika perbezaan antara produk adalah besar, ia tidak sesuai untuk menggunakan mod pembina, jadi ia digunakan Skop tertakluk kepada sekatan tertentu.
Jika perubahan dalaman produk adalah kompleks, ia mungkin menyebabkan keperluan untuk mentakrifkan banyak kelas pembina khusus untuk melaksanakan perubahan tersebut, menyebabkan sistem menjadi sangat besar kes ini, adalah perlu untuk Pertimbangkan memilih mod pembina.
Corak kilang abstrak melaksanakan penciptaan keluarga produk Keluarga produk ialah satu siri produk: kombinasi produk dengan dimensi pengelasan yang berbeza tidak memerlukan perhatian tentang proses pembinaan sahaja. Mod pembina memerlukan membina produk mengikut pelan tindakan yang ditentukan Tujuan utamanya adalah untuk menghasilkan produk baharu dengan memasang alat ganti.
Atas ialah kandungan terperinci Apakah itu Corak Pembina Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!