Materi iki minangka bagéan saka seri "Introduction to Enterprise Development". Artikel sadurunge:
Ing artikel iki, kita bakal ngerti babagan sing diarani MVC. Kita bakal ngomong babagan apa MVC, tutul sejarahe, jelajahi ide lan konsep dhasar sing ana ing MVC, deleng langkah-langkah carane mbatalake aplikasi dadi modul Model, View, lan Controller, tulisen aplikasi web cilik nggunakake Spring Boot, lan, nggunakake Spring MVC minangka conto, ndeleng carane data dikirim saka kode Jawa kanggo kaca HTML. Kanggo mangerteni materi iki, sampeyan kudu ngerti pola desain, utamane pengamat lan fasad. Lan kenal karo panjalukan lan tanggapan HTTP, ngerti dhasar HTML, lan ngerti apa anotasi Jawa. Njupuk secangkir kopi lan cemilan, lan kepenak. Ayo diwiwiti.
Saka kabeh iki, kita bisa nggawe kesimpulan logis. Sistem kompleks kudu dipérang dadi modul. Ayo kanthi ringkes njlèntrèhaké langkah-langkah kanggo nggayuh pemisahan iki.
Lan iki carane kita teka ing aplikasi dumadi saka telung modul disebut model, tampilan lan controller. Ayo ngringkes:
- babagan jaringan
- babagan arsitektur piranti lunak
- babagan HTTP/HTTPS
- bab dhasar saka Maven
- babagan servlets (nulis aplikasi web sing prasaja)
- babagan kontaner servlet

Sejarah saka MVC
Gagasan ing mburi MVC dirumusake dening Trygve Reenskaug nalika makarya ing Xerox PARC ing pungkasan taun 1970-an. Ing dina iku, nggarap komputer mbutuhake gelar lan sinau pancet dokumentasi voluminous. Tugas sing ditanggulangi dening Reenskaug bebarengan karo klompok pangembang sing kuwat yaiku nyederhanakake interaksi pangguna biasa karo komputer. Sampeyan perlu kanggo nggawe alat sing, ing tangan siji, bakal arang banget prasaja lan dingerteni, lan ing tangan liyane, bakal nggawe iku bisa kanggo ngontrol komputer lan aplikasi Komplek. Reenskaug kerja ing tim sing ngembangake komputer laptop "kanggo bocah-bocah kabeh umur" - Dynabook, uga basa SmallTalk ing pimpinan Alan Kay. Nalika iku konsep antarmuka sing ramah ditata. Ing pirang-pirang bab, karya rampung dening Reenskaug lan tim dipengaruhi évolusi saka bal IT. Iki minangka kasunyatan menarik sing ora langsung ditrapake kanggo MVC, nanging nggambarake pentinge pangembangan kasebut. Alan Kayngandika, "Nalika aku pisanan menyang Apple, kang ana ing '84, Mac wis metu lan Newsweek hubungi kula lan takon kula apa aku mikir Mac. Aku ngandika, 'Inggih, Mac iku komputer pribadi pisanan cukup apik kanggo dikritik.' Dadi, sawise ngumumake iPhone ing taun 2007, dheweke nggawa menyang aku lan nyerahake marang aku. Dheweke kandha, 'Alan, apa iki cukup apik kanggo dikritik?' Lan aku kandha, 'Steve, nggawe ukurane kaya tablet lan sampeyan bakal nguwasani jagad iki.'" Sawise 3 taun, tanggal 27 Januari 2010, Apple ngenalake iPad kanthi diagonal 9,7 inci. Kanthi tembung liyane, Steve Jobs ngetutake saran Alan Kay meh persis. Proyek Reenskaug suwene 10 taun. Nanging publikasi pisanan babagan MVC katon sawise 10 taun liyane. Martin Fowler, penulis sawetara buku lan artikel babagan arsitektur piranti lunak, nyebataken bilih piyambakipun sinau MVC nggunakake versi digunakake Smalltalk. Amarga ora ana informasi babagan MVC saka sumber asli kanggo dangu, lan kanggo sawetara alasan liyane, nomer akeh interpretasi beda konsep iki muncul. Akibaté, akeh sing nganggep MVC minangka pola desain. Kurang umum, MVC diarani pola komposit utawa kombinasi sawetara pola sing bisa bebarengan kanggo nggawe aplikasi rumit. Nanging, kaya sing wis kasebut sadurunge, MVC sejatine utamane minangka ide / prinsip / pendekatan arsitektur sing bisa diimplementasikake kanthi macem-macem cara nggunakake pola sing beda-beda ... Sabanjure, kita bakal nimbang gagasan utama sing ana ing konsep MVC. lan kanggo sawetara alasan liyane, nomer akeh interpretasi beda konsep iki muncul. Akibaté, akeh sing nganggep MVC minangka pola desain. Kurang umum, MVC diarani pola komposit utawa kombinasi sawetara pola sing bisa bebarengan kanggo nggawe aplikasi rumit. Nanging, kaya sing wis kasebut sadurunge, MVC sejatine utamane minangka ide / prinsip / pendekatan arsitektur sing bisa diimplementasikake kanthi macem-macem cara nggunakake pola sing beda-beda ... Sabanjure, kita bakal nimbang gagasan utama sing ana ing konsep MVC. lan kanggo sawetara alasan liyane, nomer akeh interpretasi beda konsep iki muncul. Akibaté, akeh sing nganggep MVC minangka pola desain. Kurang umum, MVC diarani pola komposit utawa kombinasi sawetara pola sing bisa bebarengan kanggo nggawe aplikasi rumit. Nanging, kaya sing wis kasebut sadurunge, MVC sejatine utamane minangka ide / prinsip / pendekatan arsitektur sing bisa diimplementasikake kanthi macem-macem cara nggunakake pola sing beda-beda ... Sabanjure, kita bakal nimbang gagasan utama sing ana ing konsep MVC.MVC: Gagasan lan prinsip dhasar
- VC minangka sakumpulan gagasan lan prinsip arsitektur kanggo mbangun sistem informasi sing kompleks kanthi antarmuka panganggo
- MVC minangka singkatan saka: Model-View-Controller

Langkah 1. Pisah logika bisnis aplikasi saka antarmuka panganggo
Ide utama MVC yaiku aplikasi apa wae kanthi antarmuka pangguna bisa dipérang dadi 2 modul: modul sing tanggung jawab kanggo ngetrapake logika bisnis, lan antarmuka pangguna. Modul pisanan bakal ngetrapake fungsi utama aplikasi kasebut. Modul iki minangka inti saka sistem, ing ngendi model domain aplikasi dileksanakake. Ing paradigma MVC, modul iki minangka huruf M, yaiku model. Modul kapindho ngetrapake kabeh antarmuka pangguna, kalebu logika kanggo nampilake data menyang pangguna lan nangani interaksi pangguna karo aplikasi kasebut. Tujuan utama pemisahan iki yaiku kanggo mesthekake yen inti sistem ("model" ing terminologi MVC) bisa dikembangake lan diuji kanthi mandiri. Sawise nggawe pemisahan iki, arsitektur aplikasi katon kaya iki:
Langkah 2 Gunakake pola pengamat kanggo nggawe model luwih mandiri lan nyinkronake antarmuka pangguna
Ing kene kita duwe 2 gol:- Entuk kamardikan sing luwih gedhe kanggo model kasebut
- Sinkronisasi antarmuka panganggo
Langkah 3 Pisahake antarmuka menyang tampilan lan pengontrol
Kita terus dibagi aplikasi menyang modul, nanging saiki ing tingkat ngisor ing hirarki. Ing langkah iki, antarmuka panganggo (sing dipisahake dadi modul sing béda ing langkah 1) dipérang dadi tampilan lan pengontrol. Nggambar garis sing ketat ing antarane tampilan lan pengontrol iku angel. Yen kita ngomong yen tampilan minangka pangguna sing ndeleng, lan pengontrol minangka mekanisme sing ngidini pangguna sesambungan karo sistem kasebut, sampeyan bisa uga nuduhake kontradiksi. Unsur kontrol, kayata tombol ing kaca web utawa keyboard virtual ing layar telpon, Sejatine bagean saka controller. Nanging padha katon kanggo pangguna minangka bagean saka tampilan. Apa sing kita ucapake ing kene yaiku pemisahan fungsional. Tugas utama antarmuka pangguna yaiku kanggo nggampangake interaksi pangguna karo sistem kasebut.- output lan gampang nampilake informasi sistem kanggo pangguna
- ketik data pangguna lan printah (komunikasi menyang sistem)

- Miturut prinsip paradigma MVC, sistem kudu dipérang dadi modul.
- Modul sing paling penting lan mandiri kudu dadi model.
- Model minangka inti saka sistem. Sampeyan kudu bisa ngembangake lan nguji kanthi bebas saka antarmuka panganggo.
- Kanggo entuk iki, ing langkah pisanan divisi, kita kudu pamisah sistem dadi model lan antarmuka panganggo.
- Banjur, nggunakake pola pengamat, kita nambah kamardikan model lan nyinkronake antarmuka pangguna.
- Langkah katelu kanggo dibagi antarmuka panganggo menyang controller lan tampilan.
- Kabeh sing dibutuhake kanggo nampa data pangguna menyang sistem ana ing pengontrol.
- Kabeh sing dibutuhake kanggo ngirim informasi menyang pangguna ana ing tampilan.
A sethitik babagan carane tampilan lan controller sesambungan karo model
Kanthi ngetik informasi liwat controller, pangguna ngganti model. Utawa paling ora, pangguna ngganti data model. Nalika pangguna nampa informasi liwat unsur antarmuka (liwat tampilan), pangguna nampa informasi babagan model. Kepiye kedadeyan iki? Kanthi cara apa tampilan lan pengontrol sesambungan karo model? Sawise kabeh, kelas tampilan ora bisa langsung nelpon metode kelas model kanggo maca / nulis data. Yen ora, kita ora bakal bisa ujar manawa model kasebut mandiri. Model kasebut minangka kumpulan kelas sing raket banget sing ora bisa diakses dening tampilan utawa pengontrol. Kanggo nyambungake model menyang tampilan lan pengontrol, kita kudu ngetrapake pola desain fasad. Fasad model yaiku lapisan antarane model lan antarmuka pangguna, liwat kang tampilan nampa data trep format, lan Controller ngganti data dening nelpon cara perlu ing fasad. Ing pungkasan, kabeh katon kaya iki:
GO TO FULL VERSION