Skip navigation

Tag Archives: MVC


Berbeda dengan Ruby on Rails maupun Zend, Kohana 2.3 tidak memiliki konvensi penaruhan file view. Di beberapa proyek yang menggunakan Kohana, saya mengedit sendiri class Template_Controller di Kohana sehingga bisa membuat file Viewnya lebih bisa diotomatisasi. Rekan saya yang saya ceritakan di postingan sebelumnya mencoba menjelaskan cara otomatisasi tersebut. Artikelnya bisa dilihat di sini.

Iklan

Di dalam pemrograman web menggunakan JSP dan Servlet terdapat 2 macam design pattern untuk implementasi pola Modeller-Viewerer-Controller.

MVC 1 : Page-centric architecture

Di dalam arsitektur ini, sebenarnya tidak ada perbedaan antara Viewer dengan Controller karena keduanya ditangani oleh sebuah file JSP yang sama. Hal ini dapat dilakukan karena pada dasarnya sebuah file JSP adalah sebuah servlet. Oleh karena itu JSP memiliki atribut-atribut yang sama dengan sebuah Servlet dan memiliki banyak kemudahan. Model diimplementasikan dengan bentuk Javabean. Arsitektur ini nantinya akan sangat mirip dengan jika kita melakukan pengembangan pada bahasa PHP.

mvc1

MVC 2 : Servlet-centric architecture

Pada arsitektur ini sebuah servlet bertugas untuk menerima request dari web browser kemudian melakukan pemrosesan model berdasarkan request tersebut. Setelah itu servlet akan meminta file JSP untuk menangani tampilan dari data-data. Dengan arsitektur ini kita dapat melakukan pengembangan seperti layaknya kita melakukan pengembangan pada aplikasi Java seperti biasanya. JSP digunakan hanya untuk memudahkan desain tampilan.

mvc2



Model-View-Controller atau MVC adalah sebuah pola desain perangkat lunak. Desain ini memisahkan antarabusiness logic dari user interface. Model adalah kumpulan class yang merepresentasikan business logic yang digunakan dalam penggunaan perangkat lunak. Tugasnya adalah memodelkan segala hal yang dibutuhkan terkait dengan business logic tersebut. Viewer adalah kumpulan class yang mengatur tampilan yang akan dihadapi oleh pengguna.  Sedangkan, Controller adalah kumpulan class yang melakukan pemrosesan permintaan dari pengguna dan bertugas untuk melakukan pengolahan Model dan akhirnya menampilkannya ke dalam Viewer.

Di dalam PHP (sama halnya dengan pemrograman web lainnya) sebuah Model diimplementasikan dengan sebuah class yang bertugas untuk menangani pengambilan data dari basis data dan melakukan pemodelan data sehingga berupa sebuah objek.  Sebuah View diimplementasikan dengan sebuah file PHP yang hanya berisi tag-tag HTML dan hanya sedikit tag PHP yang bertugas untuk menampilkan data dalam bentuk HTML. Meski demikian untuk memudahkan, View lebih banyak diimplementasikan kepada sebuah class yang akan mencari file PHP yang dibutuhkan. Sedangkan Controller sendiri hanyalah berupa sebuah HTTP request dari pengguna. Controller sendiri dapat diimplementasikan ke dalam classclass yang menangani HTTP request tersebut sehingga proses penanganan business logicnya dapat dimodelkan dan dipahami dengan mudah.

Sekarang ini MVC banyak dikembangkan bersama-sama jenis class yang tidak termasuk ke dalam ketiga jenis class tersebut yakni Library dan Helper. Library dan Helper adalah kumpulan class yang tidak termasuk ke dalam business logic tapi bertugas untuk menangani beberapa pemrosesan. Perbedaannya adalah Library biasanya merupakan menangani pemrosesan berskala besar sedangkan Helper menangani pemrosesan berskala kecil. Contoh Library misalnya adalah pemrosesan basisdata atau sebuah business logic yang membantu business logicH yang sedang digunakan. Helper biasanya menangani penghitungan kecil seperti penampilan form secara generik, pemrosesan arary, dan fungsi-fungsi kecil yang bukan merupakan bawaan dari fitur bahasa dan dibungkus oleh Helper tersebut.

%d blogger menyukai ini: