Deskripsi Mode Penampilan
Catatan: Mode Penampilan adalah antarmuka antarmuka tingkat tinggi yang disediakan oleh subsistem atau komposisi program yang kompleks, membuatnya lebih mudah untuk mengakses program yang mendasari atau antarmuka sistem menggunakan klien;
Mode penampilan adalah pola yang sering kita temui. Fungsi yang sering kita libatkan dapat melibatkan beberapa subinterfaces atau subsistem, sedangkan fungsi tertentu dari kita mungkin hanya mengharuskan ini untuk dienkapsulasi dalam urutan satu atau beberapa subinterfaces beberapa. Jika fungsi bisnis secara langsung sesuai dengan subinterface atau subsistem, pengembang mungkin perlu memiliki pemahaman yang cukup besar tentang konten internal; Anda mungkin perlu memahami bagaimana proses bisnis berjalan, apa pesanannya, dll. Ini mengharuskan pengembang untuk memahami bisnis dan juga membuat pemrograman klien cukup rumit;
Jika ada lapisan atau kelas di sini yang secara khusus menyediakan metode yang ingin kami gunakan untuk merangkumnya, fungsi klien hanya perlu berinteraksi dengan kelas lapisan menengah ini, dan metode yang sesuai dari kelas lapisan menengah memiliki pengembang terkait yang memahami enkapsulasi organisasi bisnis, maka program akan menjadi sangat sederhana. Programmer hanya perlu mengetahui metode mana yang diperlukan untuk fungsinya, dan tidak perlu mengetahui logika internal.
Kelas lapisan tengah ini adalah apa yang kita sebut kelas penampilan, yang merupakan gagasan pola penampilan.
Contoh adegan:
1>. Misalnya, sakelar utama, sakelar master ini dapat mengontrol lampu di pintu rumah, beberapa lampu di aula, dan mengontrol catu daya TV rumah, kulkas, dll. Jika Anda menekan "pada" di, mana yang akan memiliki listrik, dan bahkan secara langsung memancarkan transmisi lampu dan panas. Anda tidak perlu tahu bagaimana tombol pada sakelar master keluar, atau bagaimana ditekan ke peralatan listrik yang relevan. Bagaimanapun, Anda akan menyebutnya secara langsung.
Lampu, TV, dll ini adalah antarmuka dan sistem kecil yang ingin kami gunakan; Sakelar utama ini adalah penampilan kami, dan kami dapat mengoperasikannya secara langsung.
2>. Adalah hal yang baik bahwa perusahaan memiliki beberapa departemen fungsional. Ketika bos membutuhkan implementasi berbagai aspek pekerjaan satu per satu, ia akan pergi ke departemen dan bertanya kepada karyawan bagaimana keadaan ini. Jika dia bertanya kepada orang yang tepat, dia dapat langsung menjawab bos. Jika orang ini bertanggung jawab, ia juga akan memberi tahu bos, "Oh, siapa yang bertanggung jawab atas masalah ini, dan bos harus berlari untuk bertanya kepada orang tersebut, itu sangat merepotkan."
Jika setiap departemen fungsional memiliki pengawas, bos hanya bisa pergi ke sana dan mencari tahu situasinya. Bos tidak perlu peduli tentang bagaimana orang yang bertanggung jawab mengetahui hal ini. Dia hanya ingin mengetahui situasi 1, 2, dan 3 hal dan mengikuti kemajuan.
Kode Sumber Contoh
Sekarang terapkan kode sumber sesuai dengan skenario instance kedua:
1. Beberapa fungsi departemen:
Departemen 1 (Departemen Bisnis):
Salinan kode adalah sebagai berikut:
function bisnisdept () {
this.Manager = 'Manager Chen'; // Orang yang bertanggung jawab
}
BusinessDept.Prototype = {
Bulan Bulan: function () {
Console.log (this.Manager + 'Say: Penjualan bulan ini adalah xxx');
},
Nextplan: function () {
Console.log (this.Manager + 'Say: Rencana berikutnya adalah seperti ini, xxxx');
}
}
Departemen 2 (departemen litbang):
Salinan kode adalah sebagai berikut:
fungsi rddept () {
this.manager = 'Manager Huang';
}
Rddept.prototype = {
Progress: function () {
console.log (this.manager + 'katakanlah: situasi proyek saat ini dan kemajuan seperti ini xxx');
},
DeptPlan: function () {
Console.log (this.Manager + 'Say: Rencana departemen berikutnya seperti ini xxx');
}
}
Di atas adalah pertanyaan yang dimiliki pengawas dari masing -masing departemen untuk menjawab bos;
Selanjutnya, tetapkan kategori penampilan untuk mengatur pertanyaan yang ingin ditanyakan oleh bos Anda;
Salinan kode adalah sebagai berikut:
fungsi fasad () {
this.Business = new BusinessDept ();
this.rddept = rddept baru ();
}
Facade.prototype = {
Deptituasi: function () {
this.business.monthsales (); // Manajer penjualan akan mengatakan terlebih dahulu;
this.rddept.progress ();
},
DeptPlan: function () {
this.business.nextplan (); // Laporkan rencana berikutnya;
this.rddept.deptplan ();
}
}
Selanjutnya, bos memanggil dua manajer di depannya dan mulai mengajukan pertanyaan:
Salinan kode adalah sebagai berikut:
var fasad = fasad baru ();
Console.log ('Boss bertanya: Sekarang perkenalkan situasi departemen Anda?');
facade.deptsituation ();
Console.log ('Boss bertanya: Apa rencananya selanjutnya?');
facade.deptplan ();
Instruksi lainnya
Menggunakan mode penampilan dapat membuat antarmuka atau kelas dipisahkan, sehingga tidak perlu ketergantungan antar kelas. Ketika tidak perlu digunakan, A harus termasuk B, atau B harus mencakup A. Ini melanggar prinsip modifikasi penutupan. Menggunakan pembungkus kelas penampilan lapisan menengah dapat membuat panggilan antarmuka menjadi sederhana, dan menggunakan subinterfaces atau panggilan objek subsistem menjadi lebih bebas dan terorganisir.
Mode penampilan sering muncul dalam pemrograman kami, dan mode penampilan sering digunakan dalam definisi pola sistem arsitektur. Sistem kami perlu menggunakan layanan antarmuka pihak ketiga, dan sering menambahkan lapisan penampilan untuk mengatur antarmuka bisnis yang tersedia;