memperkenalkan
Dalam sistem perangkat lunak, kami kadang-kadang menghadapi penciptaan "objek kompleks", yang biasanya terdiri dari sub-objek dari setiap bagian menggunakan algoritma tertentu; Karena perubahan persyaratan, berbagai bagian dari objek kompleks ini sering menghadapi perubahan drastis, tetapi algoritma yang menggabungkannya bersama -sama memang relatif stabil. Bagaimana cara menangani perubahan ini? Bagaimana cara memberikan "mekanisme enkapsulasi" untuk mengisolasi perubahan dalam "setiap bagian dari benda -benda kompleks" sehingga menjaga "algoritma konstruksi yang stabil" dalam sistem dari mengubah dengan kebutuhan? Inilah yang harus disebutkan oleh model pembangun.
Pola pembangun dapat memisahkan konstruksi objek yang kompleks dari representasinya, sehingga proses konstruksi yang sama dapat membuat representasi yang berbeda. Dengan kata lain, jika kami menggunakan mode builder, pengguna perlu menentukan jenis yang akan dibangun untuk mendapatkannya, dan proses dan detail konstruksi spesifik tidak perlu diketahui.
teks
Pola ini relatif sederhana. Harap masukkan kode terlebih dahulu dan kemudian jelaskan
Salinan kode adalah sebagai berikut:
function getBeerById (id, callback) {
// Gunakan ID untuk meminta data dan kemudian mengembalikan data.
asyncRequest ('get', 'beer.uri? id =' + id, function (resp) {
// Respons panggilan panggilan balik
callback (resp.Responsetext);
});
}
var el = document.queryselector ('#test');
el.addeventlistener ('klik', getBeerbyidbridge, false);
Fungsi getBeerByidBridge (e) {
getBeerById (this.id, function (bir) {
Console.log ('Bir yang Diminta:' + Bir);
});
}
Menurut definisi pembangun, fase tabel adalah panggilan balik, yaitu cara menampilkan dan memproses data setelah mendapatkannya tergantung pada fungsi callback. Sejalan dengan itu, fungsi callback tidak perlu memperhatikan bagaimana data diperoleh saat memproses data. Contoh yang sama juga dapat dilihat dalam metode AJAX JQuery. Ada banyak fungsi panggilan balik (seperti keberhasilan, callback kesalahan, dll.), Dan tujuan utamanya adalah untuk memisahkan tanggung jawab.
Mari kita juga memiliki contoh jQuery lain:
Salinan kode adalah sebagai berikut:
$ ('<div class = "foo"> bar </div>');
Kita hanya perlu meneruskan karakter HTML yang akan dihasilkan, tanpa memperhatikan bagaimana objek HTML spesifik diproduksi.
Meringkaskan
Model pembangun terutama digunakan untuk "membangun objek yang kompleks dalam langkah -langkah", di mana "langkah" adalah algoritma yang stabil, sedangkan berbagai bagian objek kompleks sering berubah. Keuntungannya adalah bahwa "proses pemrosesan" dari model pembangun terpapar, yang membuat model pembangun lebih fleksibel, dan model pembangun memisahkan proses perakitan dan membuat komponen tertentu, sehingga kita tidak perlu peduli tentang bagaimana setiap komponen dirakit.