Anda di halaman 1dari 3

Facade pattern adalah design pattern dari software engineering yang banyak digunakan dengan pemrograman berorientasi objek.

Faade adalah objek yang menyediakan interface yang telah sederhana dari deretan kode yang sangat besar, seperti class library. Faade dapat: 1. Membuat software library yang mudah untuk digunakan dan dipahami selama faade mempunyai metode yang mudah dimengerti untuk pekerjaan yang umum. 2. Membuat kode yang menggunakan library lebih mudah dibaca untuk alasan yang sama. 3. Mengurangi ketergantungan dari kode eksternal pada pekerjaan internal dari library selama sebagian besar kode menggunakan faade sehingga yang menggunakannya dapat lebih fleksibel di dalam mengembangkan sistem. 4. Membungkus koleksi API yang tidak didesain bagus dengan satu API yang didesain bagus. Faade digunakan ketika seseorang menginginkan untuk berhubungan dengan interface yang mudah digunakan dan sederhana dalam bekerja. Design pattern faade menyediakan interface yang mudah untuk digunakan dibandingkan dengan koleksi dari interface subsistem yang kompleks. Hal ini dapat membuatnya lebih mudah dengan menyembunyikan detail dari implementasi. Design pattern faade menghubungkan kode yang kita tulis untuk suatu aplikasi yang melakukan pekerjaan yang spesifik seperti membuat laporan, dan implementasi dari level bawah yang menangani detail seperti membaca file, berinteraksi dengan jaringan, dan membuat suatu output. Faade adalah interface dimana aplikasi dapat menggunakannya untuk melakukan sesuatu tanpa mengkhawatirkan mengenai detail-detail yang terlibat. Faade memisahkan layerlayer yang terlibat sehingga layer-layer tersebut tidak bergantung satu sama lainnya dimana membuat masing-masing layer dapat dengan mudah untuk dikembangkan, mudah untuk digunakan, dan mempertimbangkan untuk menggunakan code re-use. Bagaimanapun juga, faade dapat menjadi sangat kompleks untuk subsistem yang sangat besar. Untuk itu, perlu ditambahkan abstract faade diatas faade yang telah ada. Salah satu contoh yang umum adalah dengan menggunakan pattern melalui webservice, dimana membuat webservice berperilaku sebagai faade atau interface terhadap banyak dll yang berbeda yang masing-masing merepresentasikan suatu subsistem tertentu. Kelas dan/atau objek yang berpartisipasi pada faade adalah:

1. Faade (misal. MortgageApplication) Mengetahui kelas-kelas subsistem yang bertanggung jawab terhadap permintaan 2. Mendelegasikan permintaan dari klien kepada objek subsistem yang bersesuaian 3. Kelas subsistem (misal. Bank, Credit, Loan) 4. Mengimplementasikan fungsionalitas dari subsiste 5. Menangani pekerjaan yang diberikan oleh objek faade 6. Tidak mempunyai pengetahuan mengenai faade dan tidak peduli dengan reference mengenai hal ini Kelebihan faade daripada design pattern yang lain adalah sebagai berikut:

Facade mendefinisikan interface baru, sedangkan Adapter menggunakan interface yang lama. Adapter membuat dua interface yang telah ada bekerja sama sebagai lawan untuk mendefinisikan suatu interface yang baru

Ketika Flyweights menunjukkan bagaimana cara membuat objek kecil yang banyak, Faade menunjukkan bagaimana membuat objek tunggal yang merepresentasikan subsistem secara keseluruhan

Mediator serupa dengan faade dalam hal mengabstraksikan fungsionalitas dari kelas yang telah ada. Abstrak mediator mengkomunikasikan antar objek yang setara. Hal ini secara rutin akan menambahkan value dan hal ini diketahui oleh objek yang setara. Secara kontras, faade mendefinisikan interface yang lebih sederhana dari subsistem dan tidak menambahkan fungsionalitas baru dan tidak diketahui oleh kelas subsistem lainnya

Abstract factory dapat digunakan sebagai alternatif pada faade untuk menyembunyikan kelas platform yang spesifik

Objek faade biasanya singleton karena hanya satu objek faade yang dibutuhkan Adapter dan faade keduanya adalah pembungkus, tapi keduanya adalah pembungkus yang berbeda. Fokus dari faade adalah untuk menciptakan interface yang lebih sederhana dan fokus dari adapter adalah untuk mendesain pada interface yang telah ada. Ketika faade secara rutin membungkus objek-objek, adapter membungkus objek tunggal. Faade dapat menjadi front-end dari objek kompleks tunggal dan adapter dapat membungkus beberapa objek yang telah ada

Pada intinya, Facade artinya tembok luar atau muka bangunan. Orang yang melintas hanya dapat melihat luarnya saja, tanpa mengetahui isi di dalamnya. Dengan menggunakan facade, detil proses dan kompleksitas sistem disembunyikan dari pengguna. Pengguna hanya perlu mengakses facade untuk dapat memanfaatkan salah satu fungsi dalam sistem. 1. Sederhana, kesatuan interface untuk subsistem atau komponen 2. Mendesain kelas wrapper yang mengenkapsulasi subsistem 3. Faade atau wrapper menangkap kompleksitas dan mengkolaborasikan komponenkomponen dan mendelegasikan kepada metode yang bersesuaian 4. Klien hanya menggunakan faade 5. Mempertimbangkan penambahan faade akan menambah nilai

Anda mungkin juga menyukai