


Mod mediator corak reka bentuk javascript Kemahiran mediator_javascript
May 16, 2016 pm 04:23 PM1. Ringkasan keseluruhan
1, penulis membincangkan secara ringkas
Mari kita ambil analogi ringkas dari kehidupan seharian Kami pergi ke agensi perumahan untuk menyewa sebuah rumah. Seorang penyewa tidak kisah dari rumah siapa dia menyewa. Tuan rumah juga tidak peduli dengan siapa dia menyewa. Kerana kewujudan perantara, transaksi ini menjadi begitu mudah.
Dalam proses pembangunan perisian, anda pasti akan menghadapi situasi di mana berbilang kelas atau subsistem berinteraksi antara satu sama lain, dan interaksi itu sangat menyusahkan, menyebabkan setiap kelas perlu mengetahui kelas yang perlu berinteraksi dengannya, supaya gandingan mereka akan kelihatan sangat berkuasa. Jika satu pergerakan menjejaskan seluruh badan, akibatnya akan menjadi sangat marah! ~~~~(>_<)~~~~
Baiklah, sekarang setelah persoalan itu ditimbulkan, mari kita jemput protagonis kita dalam isu ini—mod perantara
Fungsi mediator adalah untuk merangkum interaksi antara objek. Jika pengendalian objek akan menyebabkan perubahan pada objek berkaitan lain, dan objek itu tidak mahu mengendalikan perhubungan ini dengan sendirinya, maka anda boleh mencari perantara dan biarkan ia mengendalikan perhubungan yang menyusahkan ini. Lihat contoh kecil di bawah:
var Peserta = fungsi(nama) {
this.name = nama;
this.chatroom = null;
};
Peserta.prototaip = {
hantar: fungsi(mesej, kepada) {
this.chatroom.send(message, this, to);
},
terima: fungsi(mesej, daripada) {
log.add(from.name " to " this.name ": " message);
}
};
var Bilik Sembang = function() {
var peserta = {};
kembali {
daftar: fungsi(peserta) {
peserta[participant.name] = peserta;
participant.chatroom = ini;
},
hantar: fungsi(mesej, dari, kepada) {
jika (kepada) {
untuk.terima(mesej, daripada);
} lain {
untuk (masukkan peserta) {
jika (peserta[kunci] !== daripada) {
peserta[kunci].terima(mesej, daripada);
}
}
}
}
};
};
var log = (function() {
var log = "";
kembali {
add: function(msg) { log = msg "n"; },
tunjukkan: function() { alert(log); log = ""; }
}
})();
function run() {
var yoko = Peserta baharu("Yoko");
var john = Peserta baharu("John");
var paul = Peserta baharu("Paul");
var ringo = Peserta baharu("Ringo");
var bilik sembang = Bilik Sembang baharu();
bilik sembang.daftar(yoko);
bilik sembang.daftar(john);
bilik sembang.daftar(paul);
bilik sembang.daftar(ringo);
yoko.send("Apa yang anda perlukan hanyalah cinta.");
yoko.send("Saya sayang awak John.");
john.send("Hei, tak perlu siarkan", yoko);
paul.send("Ha, saya dengar!");
ringo.send("Paul, apa pendapat awak?", paul);
log.show();
}
在示例代码中我们有四个参与者,加入聊天会话通过注册一个聊天室住/的参与对象的代表。参与者相互发送消息和聊天室的处理路由。
这里的聊天室对象就起到了中介的作用,协调其他的对象,进行合理的组仇,降调其他的对象,进行合理的组廇,降琇,降调其他的对象,进行合理的组仇,降仇。
二,源码案例参考
我们应该很熟悉MVC三层模型实体模型(Model)、视图表现层(View)还有型实体模型(Model)、视图表现层(View)还有掜)还有掜(Control 。 🎜一个应用。
三,案例引入

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Perbezaan antara corak reka bentuk dan corak seni bina dalam rangka kerja Java

Penggunaan indah corak penyesuai dalam corak reka bentuk Java

Analisis Corak Penghias dalam Corak Reka Bentuk Java

Analisis kes praktikal corak reka bentuk PHP

Apakah kelebihan dan kekurangan menggunakan corak reka bentuk dalam rangka kerja java?

Aplikasi corak reka bentuk dalam rangka kerja Guice

Bagaimana corak reka bentuk menangani cabaran penyelenggaraan kod

Corak Reka Bentuk PHP: Pembangunan Dipacu Ujian dalam Amalan
