Latest web development tutorials

Model perantara

Model perantara (Mediator Pola) digunakan untuk mengurangi kompleksitas komunikasi antara pluralitas objek dan kelas. Model ini memberikan kelas menengah, yang biasanya menangani komunikasi antara kelas yang berbeda, dan dukungan untuk longgar digabungkan, membuat kode lebih mudah untuk mempertahankan. pola Mediator milik pola perilaku.

pengenalan

Maksud: Penggunaan objek perantara yang merangkum satu set objek berinteraksi perantara menjaga objek dari merujuk satu sama lain secara eksplisit, sehingga lepas kopling, dan mandiri dapat mengubah interaksi antara mereka.

Terutama untuk mengatasi: ada banyak objek dan hubungan antara objek, ini pasti akan menyebabkan struktur sistem menjadi sangat rumit, tetapi jika sebuah objek berubah, kita juga perlu untuk melacak benda-benda yang terkait dengan itu, dan membuat perawatan yang tepat .

Kapan menggunakan: beberapa kelas ditambah dengan satu sama lain, membentuk struktur jaringan.

Cara untuk memperbaiki: struktur jaringan yang disebutkan di atas dipisahkan ke dalam struktur bintang.

Kode kunci: komunikasi antara Rekan objek merangkum kelas secara terpisah.

contoh aplikasi: 1, sebelum aksesi China ke WTO adalah berbagai negara perdagangan dengan setiap struktur lainnya, kompleks, itu adalah dengan negara-negara WTO untuk perdagangan dengan satu sama lain.2, sistem penjadwalan bandara. 3, MVC framework, di mana C (controller) adalah M (model) dan V (tampilan) mediator.

Keuntungan: 1, mengurangi kompleksitas kelas akan diubah menjadi satu-ke-banyak.2, masing-masing decoupling antara kelas. 3, sejalan dengan prinsip-prinsip Demeter.

Kekurangan: broker besar akan menjadi kompleks dan sulit untuk mempertahankan.

skenario penggunaan: 1 ada antara objek dalam sistem referensi hubungan yang lebih kompleks, yang mengarah ke ketergantungan di antara mereka membingungkan dan sulit untuk menggunakan kembali struktur objek.2, ingin kelas menengah yang merangkum perilaku beberapa kelas, dan tidak ingin menghasilkan terlalu banyak subclass.

Catatan: itu tidak boleh digunakan ketika kebingungan jawab.

realisasi

Mari kita berjalan melalui perantara turunan model chat room. Misalnya, beberapa pengguna dapat mengirim pesan ke chat room, chat room, pesan ditampilkan untuk semua pengguna. Kami akan membuat dua kelasChatroomdanUser.Pengguna benda carachatroomuntuk berbagi berita mereka.

MediatorPatternDemo,kami menunjukkan penggunaan objek kelasPenggunauntuk menampilkan komunikasi di antara mereka.

pola Mediator diagram UML

Langkah 1

Membuat kelas perantara.

ChatRoom.java

import java.util.Date;

public class chatroom {
   public static void ShowMessage (User user, pesan String) {
      System.out.println (new Date (). ToString ()
         + "[" + User.getName () + "]:" + message);
   }
}

Langkah 2

Buat kelas pengguna.

User.java

public class Pengguna {
   private String nama;

   public String getName () {
      Nama kembali;
   }

   public void setName (String nama) {
      this.name = nama;
   }

   masyarakat pengguna (String nama) {
      this.name = nama;
   }

   public void SendMessage (String pesan) {
      ChatRoom.showMessage (ini, pesan);
   }
}

Langkah 3

Gunakan objekPenggunauntuk menampilkan komunikasi di antara mereka.

MediatorPatternDemo.java

public class MediatorPatternDemo {
   public static void main (String [] args) {
      Pengguna robert = pengguna baru ( "Robert");
      Pengguna john = pengguna baru ( "John");

      robert.sendMessage ( "Hi John !!");
      john.sendMessage ( "Hello Robert !!");
   }
}

Langkah 4

Verifikasi output.

Thu 31 Jan 16:05:46 IST 2013 [Robert] :! Hi John!
Thu 31 Januari 16:05:46 IST 2013 [John] :! Hello Robert!