Definisi: Digunakan untuk mengurangi kompleksitas komunikasi antara banyak objek dan kelas. Pola mediator milik pola perilaku.
Fitur:
1. Kurangi kompleksitas kelas dan ubah satu-ke-banyak menjadi satu-ke-satu.
2. Decoupling antara berbagai kelas.
3. Memenuhi prinsip Dimit.
Aplikasi dalam pengembangan tingkat perusahaan dan kerangka kerja umum: C dalam mode MVC
Contoh spesifik:
Demo kelas publik {public static void main (string [] args) {mediator m = mediator baru (); Departemen D1 = Departemen Baru (M, "Departemen Pengembangan"); Departemen D2 = Departemen Baru (M, "Departemen Keuangan"); Departemen D3 = Departemen Baru (M, "Departemen Perencanaan"); M.Add (D1, "DEP"); M.Add (D2, "FIN"); M.Add (D3, "C"); D2.Apply ("Ada proyek yang akan dikembangkan", "DEP"); D1.Apply ("Proyek pengembangan membutuhkan dana", "sirip"); D1.Apply ("Proyek telah dikembangkan dan perlu direncanakan dan diterbitkan", "C"); d3Aply ("Konferensi pers membutuhkan dana", "sirip"); }} class department {private string name; mediator mediator pribadi; departemen umum (mediator mediator, nama string) {this.name = name; this.mediator = mediator; } public string getName () {return name; } public void setName (name string) {this.name = name; } public void apply (string thing, string coordinate) {system.out.println ("we are"+this.getName ()+","+thing+", butuh bantuan"); mediator.dispatch (ini, benda, koordinat); } handle public void (nama string, string thing) {System.out.println ("We are"+this.getName ()+","+name+"Butuh bantuan kami, kami akan segera menangani urusan mereka"); System.out.println ("********************************************************************************************************************************************************************************************************************************************************************* ********************************************************************************************************************************************************************************************* *****************************************************************************************************************************************************************************************************************************************L ********************************************************************************************************************************************************************************************* *****************************************************************************************************************************************************************************************************************************************L ********************************************************************************************************************************************************************************************* *****************************************************************************************************************************************************************************************************************************************L ********************************************************************************************************************************************************************************************* *Objek perantara, memegang semua objek kolega, dan bertanggung jawab untuk menjadwalkan pekerjaan koordinasi dari berbagai departemen*/mediator kelas {nama string pribadi; peta pribadi <string, department> peta = hashmap baru <string, department> (); public void add (departemen d, nama string) {this.map.put (name, d); } public void Dispatch (departemen DPT, string thing, string coordinate) {department d = map.get (koordinat); D.Handle (dpt.getname (), benda); }}Perbedaan antara mode perantara dan mode proxy: Ketika saya pertama kali mendengar tentang mode kedua mode ini, saya merasa bahwa kedua mode ini tampaknya merupakan mode yang sama, tetapi kedua mode ini benar -benar berbeda. Mode proxy terutama digunakan untuk menyembunyikan objek aktual dan mencegah orang lain mengetahui detail operasi tertentu. Mode perantara terutama digunakan untuk interaksi kompleks dari beberapa objek dengan banyak objek. Untuk menyederhanakan interaksi ini, mode Terminator ditemukan.