sekarang gua mau ngasih tau sedikit yang gua tahu tentang Model-View-Controller programming concept. Diambil dari otak gua, dan dari google n Wiki :
Src :
http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller,
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/images/app-archa2.gif
So, Model-View-Controller (MVC) adalah sebuah pola arsitektur yang digunakan dalam rekayasa perangkat lunak. Pola ini memisahkan "domain logika" (logika aplikasi untuk pengguna) dari input dan presentasi (GUI), memungkinkan pengembangan independen, pengujian dan pemeliharaan dari masing-masing, dalam arti pembuat :
- LOGIKA (Controller) dapat mengerjakan pembuatan class-class dan fungsi untuk core modul bersangkutan
- TAMPILAN/DESAIN (View) dapat mengerjakan pembuatan tata letak dan gaya (style) dari tampilan akhir yang dilihat user
- DATABASE (Model) dapat mengerjakan pembuatan table dan database yang diperlukan sesuai dengan class diagram yang telah disepakati bersama

Nah, gambar ini cukup mewakili dari konsep dari MVC secara umum. Kira-kira begini penjelasan lengkapnya :
- MODEL adalah domain spesifik representasi data pada aplikasi yang beroperasi. Domain logika menambahkan makna pada data mentah (misalnya, menghitung apakah hari ini adalah hari ulang tahun pengguna, atau total, pajak, dan biaya pengiriman untuk keranjang belanja item). Ketika sebuah model mengubah keadaan, itu akan memberitahu yang terkait pandangan sehingga mereka dapat me-refresh.
- VIEW merender model menjadi bentuk yang cocok untuk interaksi, biasanya elemen antarmuka pengguna. Beberapa pandangan bisa eksis untuk satu model untuk berbagai tujuan.
- CONTROLLER menerima input dan memulai tanggapan dengan membuat panggilan pada objek model.