Jumat, 09 April 2010

MVC (Model View Control)

mvc-php MVC merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu :
MODEL
Model adalah data dan aturan-aturan yang berlaku untuk data tersebut, yang akan merepresentasikan konsep dari aplikasi yang akan di manage. Model biasanya berhubungan langsung dengan database untuk memanipulasi data, menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view
VIEW
Mempresentasikan data kepada user dalam sebuah format dan layout(template html) yang diatur oleh controller.
CONTROLLER
Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.
Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan. MVC merupakan pattern yang tidak dapat langsung dipetakan menjadi kode, MVC lebih merupakan suatu rancangan konseptual atau paradigma.
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.
Sumber : klik disini :)
Beberapa resource tentang MVC : net.tutsplus.com, MVC dengan codeigniter, video tentang MVC

2 komentar: