Model-View-Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi web dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). Dalam implementasinya kebanyakan framework dalam aplikasi website adalah berbasis arsitektur MVC. MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web.
Model adalah sebuah layer pada MVC yang merepresentasikan data yang digunakan oleh aplikasi sesuai dengan proses bisnis yang terjadi pada data tersebut, dengan memilahnya menjadi beberapa bagian terpisah kembali, seperti penampungan data, persistence, proses manipulasi, dan lain- lain.
Kelebihan dengan adanya Model adalah :
a. Proses maintenance aplikasi
Penempatan detail data dan operasinya pada area yang ditentukan (Model) sehingga tidak tersebar pada keseluruhan lingkup aplikasi.
b. Reusable Model
Penggunaan kembali aplikasi model oleh aplikasi lain yang disebabkan adanya pemisahan data dengan interface.
2. View
View adalah sebuah layer pada MVC yang mengandung keseluruhan detai dari implementasi user interface dengan melibatkan komponen grafis yang menyediakan representasi proses internal aplikasi dan meuntun alur interaksi user terhadap aplikasi
Kelebihan dari View adalah :
a. Memudahkan penggabungan divisi desain dalam development team.
b. Ketersediaan multiple interface dalam aplikasi.
3. Controller
Controller adalah sebuah layer pada MVC yang menyediakan detai alur program dan transisi layer, dan bertanggung jawab akan penampungan event yang dibuat oleh user dari view dan melakukan update terhadap komponen model menggunakan data dari user.
Kelebihan dari Controller adalah :
a. Komponen view dapat didesain tanpa harus memperhatikan bagian lain secara berlebih
b. Pemisahan jelas antara presentation logic dan business logic
Kelemahan MVC :
adanya peningkatan kompleksifitas sehingga pada aplikasi kecil yang tidak membutuhkan loose coupling pada Model yang menjadi blok penghalang dalam pola MVC ini sendiri.
Seiring dengan semakin banyaknya penggunaan client side scripting, ada 3 jenis MVC yang mungkin terjadi pada suatu aplikasi web yaitu :
- Server Side MVC Server Side MVC biasa terjadi pada aplikasi web tradisional, yang tidak melibatkan client side seperti Javascript, Java Applet, Flash, dll. Server Side MVC menyerahkan keseluruhan proses bisnis pada server, aplikasi pada sisi user hanya dapat menerima. MVC jenis ini terkadang disebut juga dengan nama Thin Client.
- Mixed Client Side and Server Side MVC Pada Mixed Client Side and Server Side MVC 1 client tidak menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan Server Side MVC, arsitektur ini memiliki tingkat kompleksitas yang lebih tinggi karena lebih banyak komponen yang terlibat. Untuk selanjutnya arsitektur ini disebut, dengan Mixed MVC 1.
Pada Mixed Client Side and Server Side MVC 2, client menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan arsitektur MVC yang lain, arsitektur ini memiliki tingkat kompleksitas yang paling tinggi karena lebih banyak komponen yang terlibat, sehingga membutuhkan sumber daya yang lebih besar pula. Untuk selanjutnya arsitektur ini disebut dengan Mixed MVC 2. - Rich Internet Application MVC Application MVC Rich Internet Application (RIA) disebut juga dengan nama Fat Client, merupakan aplikasi web yang memiliki kemampuan dan fungsi hampir seperti aplikasi desktop. RIA pada sisi client, memiliki engine untuk mengambil data yang berada pada server, sehingga pada client terdapat bagian MVC sendiri dan hanya membutuhkan bagian model pada sisi server.
Tidak ada komentar:
Posting Komentar