Pages

Subscribe Twitter

Selasa, 05 April 2011

Design Pattern



Apakah Design pattern?
Secara singkat, Design pattern adalah sebuah solusi untuk mengulang masalah Design. Solusi ini telah dikembangkan, dikompile, dan disaring oleh programmer yang sebelumnya telah menghadapi masalah ini.
Sebuah Design pattern adalah salah satu jenis petunjuk yang menggunakan tipe "Jika Anda memiliki masalah ini, maka lakukan ini." Hal tersebut serupa dengan sebuah algoritma : sebagai contoh, jika Anda ingin melakukan sebuah operasi pencarian pada sebuah daftar, Anda tidak perlu menyelesaikan dengan solusi Anda sendiri; terdapat beberapa algoritma yang menyediakan fungsi sorting ini seperti pencarian biner. Perbedaan antara sebuah Design pattern dan sebuah algoritma adalah bahwa algoritma fokus pada implementasi solusi : sebuah algoritma biasanya mendaftar dari atas ke bawah menuju ke tahap akhir dari action-action yang terurut dimana yang dibutuhkan untuk menghasilkan sebuah solusi. Sebuah pattern memusatkan untuk menghasilkan beberapa Design : Hal tersebut memberitahu kepada pengembang apa yang harus diperbuat sebagai lawan dari bagaimana cara melakukannya.
Mungkin tidak terlihat langsung hasilnya, tetapi Kita telah siap menggunakan beberapa Design pattern dalam pembahasan Kita sebelumnya. Satu, Kita telah belajar secara detail pattern dari Model-View-Controller : diberikan sebuah masalah interaksi gabungan yang begitu kompleks antara presentasi dan layer business, Hal itu menentukan pemisahan kode menjadi tiga layer terpisah seperti interaksi-interaksi mereka. Ingat, pattern itu sendiri tidak mendikte implementasi, hanya dijelaskan sebuah solusi Design. Kita harus melaksanakan pattern MVC manapun untuk Kita sendiri atau untuk menggunakan framework third-party.


Keuntungan Design pattern
Pengetahuan dalam Design pattern mempunyai beberapa manfaat yang nyata :
• Memberikan komunikasi yang lebih baik antar programmer. Mempunyai pengetahuan Design pattern memberikan programmer sebuah kosa kata baru yang dapat untuk mengekspresikan mereka sendiri kepada programmer. Sebagai ganti menguraikan sebuah masalah atau solusi secara detail, programmer dapat menyebutkan dengan mudah Design pattern yang relevan.
• Menambah pengetahuan yang telah ada. Mempunyai pengetahuan tentang Design pattern membiarkan Kita untuk menggunakan solusi dari programmer berbakat sebelumnya.
Terdapat sangat banyak Design pattern yang telah didokumentasikan dimana Kita siap menambah gudang ilmu pengetahuan Kita. Pada pembahasan ini, Kita akan fokus pada Design pattern yang telah terbukti bermanfaat dalam pembuatan aplikasi web.

View Helper
1. Masalah

Komponen-komponen View (biasanya dalam bentuk halaman JSP)umumnya memiliki kebutuhan akan data untuk presentasinya. Bagaimanapun, penyimpanan akses data logic atau business logic lainnya di dalam sebuah komponen presentasi mengakibatkan kode menjadi sulit di-maintain dan sedikit sulit untuk dirubah. Ini dikarenakan setiap perubahan dalam pengolahan data akan mengharuskan perubahan-perubahan di dalam layer presentasi begitu juga di layer business. Itu berpotensi lemah dalam penggunaan ulang sebuah kode, karena pada dasarnya satu-satunya cara untuk menggunakan kembali logic di dalam layer presentasi akan menyalinnya ke dalam komponen lain, dengan demikian meningkatkan jumlah komponen yang akan dirubah jika business logicnya dimodifikasi.
Juga, meletakkan business logic di dalam komponen presentasi membuatnya mustahil untuk memiliki sebuah pemisahan tugas yang jelas antara pengembang software dan Designer web.
2. Solusi
Untuk menghapus pencampuran business logic dari presentasi, Kita meletakkan logic dalam class "helper" yang terpisah dimana bisa didapat kembali atau di-instansiasi oleh komponen presentasi. Class ini dapat berupa JavaBean atau class tag custom.
Class helper ini dapat memainkan beberapa peran.


3.View Helpers memisahkan detail dari pembacaan data
Class helper dapat memisahkan detail bagaimana data yang diperlukan didapat kembali dari penyimpanan persistenst atau dari manapun dalam aplikasi. Layer presentasi cukup memanggil method-method pada helper untuk mendapatkan kembali data atau memiliki helper yang menghasilkan isi HTML seperlunya.
Sebagai satu contoh skenario, mari bayangkan Kita mempunyai sebuah aplikasi yang membutuhkan untuk mendaftar nama pelajar didalam kelas tertentu.


4.View Helpers menyimpan data model lanjutan
Terkecuali digunakan untuk mendapatkan kembali data secara langsung dari dalam komponen presentasi itu sendiri, class helper dapat digunakan untuk menyimpan data yang telah diterima kembali oleh komponen lain. Dalam kasus ini, class helper berperan sebagai object transfer (lihat Data Transfer Object di bawah).
Untuk menggambarkan ini, Kita akan memodifikasi contoh Kita sebelumnya. Daripada mendapatkan kembali data secara langsung, mari Kita asumsikan bahwa data yang Kita butuhkan telah diletakkan ke dalam scope permintaan oleh sebuah komponen yang terdahulu.


5 View helpers menyediakan atau memodifikasi data model yang telah ada
View helper juga memainkan peran dari adapter. Yang terkecuali mampu untuk menyimpan model data lanjutan atau menengah yang yang sebuah view boleh digunakan, mereka juga dapat menyediakan method-method untuk menyesuaikan data di dalam model ketika view mungkin dibutuhkan.
Sebuah contoh dari penyesuaian data yang telah ada seperti itu adalah suatu aplikasi yang berbeda format. Mari Kita pertimbangkan sebuah cerita dimana Kita telah mendapatkan kembali detail sebuah transaksi sebelumnya. Seperti informasi yang akan Kita tampilkan, Kita menemukan bahwa jumlah yang tersedia di dalam sebuah data adalah disimpan dalam US Dollar. Bagaimanapun, view membutuhkan data yang ditampilkan dalam bentuk Peso Filipina. Dalam kasus ini, Kita dapat menambahkan method untuk view helper dimana akan menyesuaikan jumlah dari penyimpanan persistent ke dalam Peso Filipina seperti yang dibutuhkan oleh View.
Contoh lain dari dari suatu adaptasi atau penyesuaian yang biasanya dikerjakan oleh view helper adalah penyusunan kembali item data dalam model. Khususnya untuk daftar yang panjang, kemampuan untuk sorting satu field data model atau lebih memberikan aplikasi Kita dengan kemampuan lebih. logic macam ini dapat disimpan di dalam JavaBean yang berisi model data.

SUMBER : dari folder materi kuliah di laptop saya :)

Free Template Blogger collection template Hot Deals SEO

0 komentar:

Posting Komentar