Deskripsi Mode Pembangun
1. Pisahkan konstruksi objek yang kompleks dari representasinya sehingga proses pembuatan yang sama dapat memiliki representasi yang berbeda. Ini disebut pola pembangun.
2. Deskripsi dalam bahasa yang berorientasi objek, peran utama:
1>. Kelas antarmuka pembangun mendefinisikan pembangun [pekerja], cara perilaku yang terpadu dan operasional, yang mewakili objek struktural yang kompleks;
2>. ConcreteBuilder digunakan untuk membuat objek instan dari berbagai bentuk pembangun untuk mewakili representasi pembangun yang berbeda;
3>. Direktur Komandan ini digunakan untuk memandu proses eksekusi dan bentuk instance Builder, yang digunakan untuk terpisah dari kinerja instance builder, dan digunakan untuk memandu instance pembangun untuk membuat dan menghasilkan hasil produk dalam urutan aturan tertentu;
4>. Hasil yang dibuat oleh hasil Hasil akan menghasilkan objek hasil; Ini adalah hasil yang dibuat oleh pencipta spesifik berdasarkan panduan sutradara;
3. Model pembangun sebenarnya adalah komandan, pembangun, dan pelanggan yang menggunakan komandan untuk memanggil pembangun spesifik untuk bekerja dan dapat menarik hasil dari pembangun spesifik;
4. Mode pembangun, skenario simulasi: [lihat contoh yang baik yang menggambarkan deskripsi mode pembangun]
Dikatakan bahwa seorang anggota keluarga ingin membangun rumah, tetapi pemilik rumah atau orang lain dalam keluarga tidak tahu bagaimana membangun rumah, jadi dia harus mempekerjakan beberapa pekerja. Tim bangunan rumah harus memiliki mandor untuk membangun rumah sesuai dengan ide -ide pemilik. Foreman merancang dan mengharuskan pekerja untuk melakukan apa yang mereka lakukan sesuai dengan persyaratan pemilik;
Mandor mengatakan bahwa langkah pertama adalah membangun seluruh kerangka rumah, langkah kedua adalah membangun kamar tidur, langkah ketiga adalah menghias dapur, langkah keempat adalah membangun ruang tamu, dan langkah kelima adalah untuk ...
Mandor tidak melakukan apa -apa, tetapi pembangun spesifik harus melakukannya sesuai dengan persyaratan mandor. Langkah pertama dan kedua dibangun sampai seluruh rumah selesai;
Pencipta harus memiliki semua keterampilan untuk menciptakan rumah ini, yaitu, membangun kerangka, menghiasi kamar tidur, dll., Artinya, apa yang dilakukan pembangun, atau memiliki kemampuan, harus lebih besar dari atau sama dengan apa yang perlu dilakukan komandan, atau memiliki kemampuan;
Artinya, komandan adalah penyelenggara, dan pembangun memberikan keterampilan;
5. Dalam bahasa yang lemah seperti JavaScript, jika tidak ada yang namanya antarmuka, abaikan lapisan definisi antarmuka, langsung membuat pembangun tertentu, dan kemudian membangun kelas panduan untuk memanggil bolak -balik pembangun;
Kode Sumber Contoh
1. Pembangun Pekerja x:
Salinan kode adalah sebagai berikut:
function workerBuilder () {
this.workone = function () {
// Bangun kerangka
}
this.worktwo = function () {
// Bangun kamar tidur
}
this.workthree = function () {
// Bangun dapur
}
this.workfour = function () {
// Bangun ruang tamu
}
// ...
this.getResult = function () {
// Bangun rumah
var house = new house ();
//house.houseframe ...
rumah kembali;
}
}
WorkBuilder adalah pembangun khusus, workone, dua adalah apa yang harus dilakukan, membangun kerangka, dll.;
Tentu saja, WorkBuilder dapat dibangun beberapa lagi untuk menunjukkan bahwa pekerja melakukan metode yang berbeda untuk setiap pekerjaan; Tetapi konten kerjanya sama;
2. Kategori Komandan
Salinan kode adalah sebagai berikut:
Function Director () {
this.construct = function (builder) {
builder.workone ();
builder.worktwo ();
builder.workthree ();
builder.workfour ();
// ...
// Konten di atas dapat diatur secara berurutan, dan item kerja juga dapat diatur.
}
}
Metode panduan di bawah kategori Komandan mencakup referensi panggilan balik ke pembangun, termasuk beberapa atau semua konten kerja pembangun; Komandan mengatur dan mengatur apa yang perlu dilakukan oleh para pekerja pembangun;
3. Rumah Produk
Salinan kode adalah sebagai berikut:
function house () {
this.houseframe = '';
this.room = '';
this.kitchen = '';
this.livingroom = '';
// ...
}
4. Cara menggunakan
Salinan kode adalah sebagai berikut:
var builder = workBuilder baru ();
VAR Director = New Director ();
Director.Construct (Builder);
var house = builder.getResult ();
Langkah keempat adalah bahwa seluruh penggunaan setara dengan pelanggan: pemilik rumah. Pemilik meminta mandor direktur untuk membangun rumah, tetapi mandor tidak melakukan apa -apa, jadi dia mengarahkan pekerja pembangun untuk membangun anak, dan akhirnya pemilik mendapatkan rumah yang dibangun dari pekerja;
Instruksi lainnya
Model pembangun lebih cocok untuk mana konten [abstrak] kompleks, dan adegan aktual berbeda, seperti situasi di mana konten atau pesanan kerja tidak konsisten; Misalnya, proses kehidupan sehari -hari setiap orang, dan adegan yang mirip dengan contoh di atas; Melalui lapisan instruktur, dimungkinkan untuk mengurangi lingkungan di mana banyak tempat kerja yang sama tetapi urutan aturan kerja tidak konsisten; Ini dapat sangat mengurangi abstraksi konstruksi objek aktual;