Materi ini merupakan bagian dari seri “Pengantar Pengembangan Usaha”. Artikel sebelumnya:
- tentang jaringan ;
- tentang arsitektur perangkat lunak ;
- tentang protokol HTTP/HTTPS ;
- tentang dasar-dasar Maven ;
- tentang servlet (kami sedang menulis aplikasi web sederhana) ;
- tentang wadah servlet .
Sejarah MVC
Ide MVC dirumuskan oleh Trygve Reenskaug saat bekerja di Xerox PARC pada akhir tahun 70an. Pada masa itu, bekerja dengan komputer tidak mungkin dilakukan tanpa gelar akademis dan studi terus-menerus atas dokumentasi yang banyak. Masalah yang dipecahkan Reenskaug bersama dengan sekelompok pengembang yang sangat kuat adalah menyederhanakan interaksi rata-rata pengguna dengan komputer. Penting untuk menciptakan alat yang, di satu sisi, sangat sederhana dan mudah dipahami, dan di sisi lain, memungkinkan untuk mengelola komputer dan aplikasi yang kompleks. Reenskaug bekerja dalam tim yang mengembangkan komputer portabel "untuk anak-anak dari segala usia" - Dynabook, serta bahasa SmallTalk di bawah arahan Alan Kay. Saat itulah konsep antarmuka yang ramah lingkungan ditetapkan. Pekerjaan Reenskaug bersama timnya sangat mempengaruhi perkembangan bidang IT. Mari kita sajikan fakta menarik yang tidak berhubungan langsung dengan MVC, namun menggambarkan pentingnya perkembangan tersebut. Pada tahun 2007, setelah presentasi Apple iPhone, Alan Kay berkata: “Ketika Macintosh keluar, Newsweek menanyakan pendapat saya tentangnya. Saya berkata: ini adalah komputer pribadi pertama yang patut dikritik. Usai presentasi, Steve Jobs menghampiri dan bertanya: apakah iPhone layak dikritik? Dan saya berkata, buatlah ukurannya lima kali delapan inci dan Anda akan menaklukkan dunia.” Tiga tahun kemudian, pada 27 Januari 2010, Apple memperkenalkan iPad 9,7 inci. Artinya, Steve Jobs mengikuti nasihat Alan Kay hampir secara harfiah. Proyek yang dikerjakan Rennskaug berlangsung selama 10 tahun. Dan publikasi pertama tentang MVC dari penciptanya diterbitkan 10 tahun kemudian. Martin Fowler, penulis sejumlah buku dan artikel tentang arsitektur perangkat lunak, menyebutkan bahwa ia mempelajari MVC dari versi SmallTalk yang berfungsi. Karena informasi tentang MVC dari sumber utama sudah lama tidak ada, serta karena sejumlah alasan lainnya, sejumlah besar interpretasi berbeda terhadap konsep ini telah muncul. Akibatnya, banyak orang menganggap MVC sebagai skema atau pola desain. Lebih jarang, MVC disebut pola komposit atau kombinasi beberapa pola yang bekerja sama untuk mengimplementasikan aplikasi yang kompleks. Namun pada kenyataannya, seperti yang dikatakan sebelumnya, MVC pada dasarnya adalah seperangkat ide/prinsip/pendekatan arsitektur yang dapat diimplementasikan dalam berbagai cara dengan menggunakan berbagai pola... Selanjutnya, kita akan mencoba melihat ide-ide utama yang tertanam dalam konsep MVC.Apa itu MVC: ide dan prinsip dasar
- VC adalah seperangkat ide dan prinsip arsitektur untuk membangun sistem informasi yang kompleks dengan antarmuka pengguna;
- MVC adalah singkatan dari Model-View-Controller.
Langkah 1: Pisahkan logika bisnis aplikasi dari antarmuka pengguna
Ide utama MVC adalah bahwa aplikasi apa pun dengan antarmuka pengguna, sebagai perkiraan pertama, dapat dibagi menjadi 2 modul: modul yang bertanggung jawab untuk mengimplementasikan logika bisnis aplikasi, dan antarmuka pengguna. Modul pertama akan mengimplementasikan fungsi utama aplikasi. Modul ini akan menjadi inti dari sistem, dimana model domain aplikasi diimplementasikan. Dalam konsep MVC, modul ini akan menjadi huruf M kita, yaitu. model. Modul kedua akan mengimplementasikan keseluruhan antarmuka pengguna, termasuk menampilkan data kepada pengguna dan logika interaksi pengguna dengan aplikasi. Tujuan utama dari pemisahan ini adalah untuk memastikan bahwa inti sistem (Model dalam terminologi MVC) dapat dikembangkan dan diuji secara mandiri. Arsitektur aplikasi setelah pembagian tersebut akan terlihat seperti ini:Langkah 2. Dengan menggunakan pola Observer, capai kemandirian model yang lebih besar, serta sinkronisasi antarmuka pengguna
Di sini kami mengejar 2 tujuan:- Mencapai kemandirian model yang lebih besar.
- Sinkronisasi antarmuka pengguna.
Langkah 3. Membagi antarmuka menjadi View dan Controller
Kami terus membagi aplikasi menjadi beberapa modul, tetapi pada tingkat hierarki yang lebih rendah. Pada langkah ini, antarmuka pengguna (yang dipisahkan menjadi modul terpisah pada langkah 1) dibagi menjadi tampilan dan pengontrol. Sulit untuk menarik garis tegas antara tampilan dan pengontrol. Jika kita mengatakan bahwa tampilan adalah apa yang dilihat pengguna, dan pengontrol adalah mekanisme yang melaluinya pengguna dapat berinteraksi dengan sistem, terdapat beberapa kontradiksi. Kontrol, seperti tombol pada halaman web atau keyboard virtual pada layar ponsel, pada dasarnya adalah bagian dari pengontrol. Namun mereka dapat dilihat oleh pengguna seperti halnya bagian mana pun dari tampilan. Di sini kita berbicara lebih banyak tentang pembagian fungsional. Tugas utama antarmuka pengguna adalah memastikan interaksi pengguna dengan sistem. Artinya antarmuka hanya memiliki 2 fungsi:- menampilkan dan dengan mudah menampilkan informasi tentang sistem kepada pengguna;
- memasukkan data dan perintah pengguna ke dalam sistem (mentransmisikannya ke sistem);
- Mengikuti prinsip-prinsip MVC, sistem perlu dibagi menjadi beberapa modul.
- Modul yang paling penting dan independen adalah modelnya.
- Model adalah inti dari sistem. Anda memerlukan kemampuan untuk mengembangkan dan mengujinya secara independen dari antarmuka.
- Untuk melakukan ini, pada langkah pertama pemisahan sistem, Anda perlu membaginya menjadi model dan antarmuka.
- Selanjutnya, dengan menggunakan pola Observer, kami memperkuat independensi model dan memperoleh sinkronisasi antarmuka pengguna.
- Langkah ketiga adalah membagi antarmuka menjadi pengontrol dan tampilan.
- Semua yang diperlukan untuk memasukkan informasi dari pengguna ke dalam sistem ada di pengontrol.
- Semua yang mengeluarkan informasi dari sistem ke pengguna sudah terlihat.
GO TO FULL VERSION