Kamis, 06 Januari 2011

0

Mediator Pattern



A. Mediator Dan Difinisinya

Mediator pattern termasuk dalam Behavioral Patterns (Pola Perilaku), yang digunakan untuk mengelola interaksi antar kelas atau objek dan pembagian tanggung jawab. Mediator Pattern menurut bahasa yaitu mendefinisikan komunikasi yang sederhana antar kelas sedangkan menurut istilah adalah abstrak/centralizes komunikasi sewenang-wenang antara obyek kita, secara rutin menambah nilai, dan dikenal/direferensikan oleh objek kita (yakni mendefinisikan sebuah protokol multi arah). Mediator pattern ialah Mendifinisikan objek yang mengenkapsulasi bagaimana satu set objek berinteraksi,. Mediator longgar mempromosikan kopling dengan menjaga benda-benda dari merujuk kepada satu sama lain secara eksplisit dan memungkinkan kita bervariasi interaksi secara mandiri.
Jadi Mediator memungkinkan kita untuk menciptakan sebuah sistem longgar digabungkan dengan menciptakan satu set objek yang mengenkapsulasi cara set benda berinteraksi satu sama lain. Dengan menghapus perilaku ini dari objek individu kita mengurangi tanggung jawab mereka dan mengurangi kopling. Berikut merupakan spesifikasi mediator pattern ;
• Tergabung dalam tipe Behavioral Pattern, dan
• Merupakan level Component
Tujuannya yaitu untuk mempermudah komunikasi antara objek-objek dalam suatu sistem dengan memperkenalkan satu objek yang mengelola pesan distribusi antara satu dengan yang lainnya.


B. Mediator Dan Bagaimana Cara Menggunakannya
Kita tidak perlu untuk membuat kelas Abstrak (abstract class) mediator atau antarmuka selama kita akan menggunakan hanya satu mediator. Definisi dari Mediator abstrak diperlukan hanya jika kita perlu bekerja dengan mediator yang berbeda. Ada berbagai cara untuk mewujudkan komunikasi antara kita dan mediator, yaitu :
• Paling sering digunakan adalah dengan menggunakan Observer Pattern. Mediator dapat juga di gunakan pengamat dan kolega dapat mengimplementasikan objek diamati. Setiap kali mengubah dibuat di negara bagian objek diamati, pengamat (mediator) akan diberitahu dan itu memberitahu semua rekan objek lain.
• Metode alternatif dapat digunakan untuk mengirim pesan ke mediator. Misalnya delegasi sederhana dapat digunakan dan metode khusus dapat terpapar oleh mediator
• Dalam implementasi yang lebih kompleks pesan asinkron dapat ditambahkan ke antrian pesan, dari mana mereka dapat diambil oleh objek mediator
Mediator pattern memiliki kompleksitas obyek mediator . Objek mediator menangani semua interaksi antara obyek peserta. Salah satu potensi masalah adalah kompleksitas mediator ketika jumlah peserta adalah banyak dan peserta kelas yang banyak perbedaan. Jika kita membuat custome dialog untuk aplikasi GUI, kita ingat bahwa setelah beberapa waktu kelas dialog menjadi sangat kompleks karena mereka harus mengelola banyak operasi. Mediator memiliki Struktur mediator yang merepresentasi bangun dari mediator, pada bagan berikut terdapat poin yang perlu kita catat, yaitu :
• Mediator
• Colleague
• Concrete Mediator, dan
• Concrete Colleague








• Mediator
Pattern Mediator membutuhkan antarmuka yang mendefinisikan metode klien yang dapat memanggil pada Mediator.
• ConcreteMediator
Ini berisi informasi aplikasi-spesifik tentang proses, dan mungkin ConcreteMediator memiliki beberapa referensi hardcoded kepada kliennya. Berdasarkan informasi yang Pengantara menerima, itu bisa memanggil metode tertentu pada klien, atau memanggil sebuah metode umum untuk memberitahu klien dari perubahan atau kombinasi keduanya. Interface mendefinisikan metode umum mediator dan dapat digunakan untuk menginformasikan kasus kepada klien.
• Client
Sebuah kelas yang mengimplementasikan antarmuka Klien dan menyediakan implementasi untuk masing-masing.
• ConcreteClient
ConcreteClient dapat menyimpan referensi ke contoh Mediator untuk memberitahu klien rekan terhadap perubahan (melalui Mediator).


C. Mediator Dan kapan Penggunaanya
Mediator pattern dapat kita gunakan, ketika kita menghadapi masalah berikut :
• Ada aturan yang kompleks untuk komunikasi antara objek-objek dalam suatu sistem (sering sebagai akibat dari model bisnis).
• Ketika kita ingin menyimpan objek sederhana dan mudah dikelola. maintance.
• Ketika kita ingin sebuah kelas untuk objek yang akan di redeployable, sehingga tidak tergantung pada model bisnis sistem.

0 Comments:

Posting Komentar