Bahan ini adalah sebahagian daripada siri "Pengenalan kepada Pembangunan Perusahaan". Artikel sebelumnya:
- tentang rangkaian
- mengenai seni bina perisian
- mengenai HTTP/HTTPS
- mengenai asas Maven
- tentang servlets (menulis aplikasi web mudah)
- mengenai bekas servlet
Sejarah MVC
Idea di sebalik MVC telah dirumuskan oleh Trygve Reenskaug semasa bekerja di Xerox PARC pada akhir 1970-an. Pada masa itu, bekerja dengan komputer memerlukan ijazah dan kajian berterusan dokumentasi yang banyak. Tugas yang diselesaikan oleh Reenskaug bersama-sama dengan sekumpulan pembangun yang sangat kuat adalah untuk memudahkan interaksi pengguna biasa dengan komputer. Ia adalah perlu untuk mencipta alat yang, dalam satu tangan, akan menjadi sangat mudah dan mudah difahami, dan sebaliknya, akan memungkinkan untuk mengawal komputer dan aplikasi yang kompleks. Reenskaug bekerja dalam pasukan yang membangunkan komputer riba "untuk kanak-kanak dari semua peringkat umur" — Dynabook, serta bahasa SmallTalk di bawah pimpinan Alan Kay. Ketika itulah konsep antara muka mesra telah ditetapkan. Dalam banyak hal, kerja yang dilakukan oleh Reenskaug dan pasukannya mempengaruhi evolusi sfera IT. Berikut ialah fakta menarik yang tidak digunakan untuk MVC secara langsung, tetapi menggambarkan kepentingan perkembangan ini. Alan Kayberkata, "Apabila saya mula-mula sampai ke Apple, iaitu pada tahun '84, Mac telah pun keluar dan Newsweek menghubungi saya dan bertanyakan pendapat saya tentang Mac. Saya berkata, 'Nah, Mac ialah komputer peribadi pertama yang cukup baik untuk kena kritik.' Jadi, selepas mengumumkan iPhone pada 2007, dia membawanya kepada saya dan menyerahkannya kepada saya. Dia berkata, 'Alan, adakah ini cukup bagus untuk dikritik?' Dan saya berkata, 'Steve, jadikan saiz ini sebesar tablet dan anda akan memerintah dunia.'" Selepas 3 tahun, pada 27 Januari 2010, Apple memperkenalkan iPad dengan pepenjuru 9.7 inci. Dalam erti kata lain, Steve Jobs mengikut nasihat Alan Kay hampir tepat. Projek Reenskaug berlangsung selama 10 tahun. Tetapi penerbitan pertama tentang MVC terbongkar selepas 10 tahun lagi. Martin Fowler, pengarang beberapa buku dan artikel mengenai seni bina perisian, menyebut bahawa dia mempelajari MVC menggunakan versi Smalltalk yang berfungsi. Kerana tidak ada maklumat tentang MVC dari sumber asal untuk masa yang lama, dan atas beberapa sebab lain, sejumlah besar tafsiran berbeza konsep ini muncul. Akibatnya, ramai yang menganggap MVC sebagai corak reka bentuk. Kurang biasa, MVC dipanggil corak komposit atau gabungan beberapa corak yang berfungsi bersama untuk mencipta aplikasi yang kompleks. Tetapi, seperti yang dinyatakan sebelum ini, MVC sebenarnya adalah satu set idea/prinsip/pendekatan seni bina yang boleh dilaksanakan dalam pelbagai cara menggunakan corak yang berbeza... Seterusnya, kami akan mempertimbangkan idea utama yang tertanam dalam konsep MVC. dan untuk beberapa sebab lain, sebilangan besar tafsiran berbeza konsep ini muncul. Akibatnya, ramai yang menganggap MVC sebagai corak reka bentuk. Kurang biasa, MVC dipanggil corak komposit atau gabungan beberapa corak yang berfungsi bersama untuk mencipta aplikasi yang kompleks. Tetapi, seperti yang dinyatakan sebelum ini, MVC sebenarnya adalah satu set idea/prinsip/pendekatan seni bina yang boleh dilaksanakan dalam pelbagai cara menggunakan corak yang berbeza... Seterusnya, kami akan mempertimbangkan idea utama yang tertanam dalam konsep MVC. dan untuk beberapa sebab lain, sebilangan besar tafsiran berbeza konsep ini muncul. Akibatnya, ramai yang menganggap MVC sebagai corak reka bentuk. Kurang biasa, MVC dipanggil corak komposit atau gabungan beberapa corak yang berfungsi bersama untuk mencipta aplikasi yang kompleks. Tetapi, seperti yang dinyatakan sebelum ini, MVC sebenarnya adalah satu set idea/prinsip/pendekatan seni bina yang boleh dilaksanakan dalam pelbagai cara menggunakan corak yang berbeza... Seterusnya, kami akan mempertimbangkan idea utama yang tertanam dalam konsep MVC.MVC: Idea dan prinsip asas
- VC ialah satu set idea dan prinsip seni bina untuk membina sistem maklumat yang kompleks dengan antara muka pengguna
- MVC ialah singkatan yang bermaksud: Model-View-Controller
Langkah 1. Asingkan logik perniagaan aplikasi daripada antara muka pengguna
Idea utama MVC ialah mana-mana aplikasi dengan antara muka pengguna boleh dibahagikan kepada 2 modul: modul yang bertanggungjawab untuk melaksanakan logik perniagaan, dan antara muka pengguna. Modul pertama akan melaksanakan fungsi utama aplikasi. Modul ini adalah teras sistem, di mana model domain aplikasi dilaksanakan. Dalam paradigma MVC, modul ini ialah huruf M iaitu model. Modul kedua melaksanakan keseluruhan antara muka pengguna, termasuk logik untuk memaparkan data kepada pengguna dan mengendalikan interaksi pengguna dengan aplikasi. Matlamat utama pemisahan ini adalah untuk memastikan teras sistem ("model" dalam istilah MVC) boleh dibangunkan dan diuji secara bebas. Selepas membuat pemisahan ini, seni bina aplikasi kelihatan seperti ini:Langkah 2 Gunakan corak pemerhati untuk menjadikan model lebih bebas dan untuk menyegerakkan antara muka pengguna
Di sini kita mempunyai 2 matlamat:- Mencapai kebebasan yang lebih besar untuk model
- Segerakkan antara muka pengguna
Langkah 3 Pisahkan antara muka ke dalam paparan dan pengawal
Kami terus membahagikan aplikasi kepada modul, tetapi kini pada tahap yang lebih rendah dalam hierarki. Pada langkah ini, antara muka pengguna (yang kami pisahkan kepada modul yang berbeza dalam langkah 1) dibahagikan kepada paparan dan pengawal. Melukis garis ketat antara pandangan dan pengawal adalah sukar. Jika kami mengatakan bahawa pandangan adalah apa yang pengguna lihat, dan pengawal ialah mekanisme yang membolehkan pengguna berinteraksi dengan sistem, anda mungkin menunjukkan percanggahan. Elemen kawalan, seperti butang pada halaman web atau papan kekunci maya pada skrin telefon, pada asasnya adalah sebahagian daripada pengawal. Tetapi ia kelihatan kepada pengguna seperti mana-mana bahagian paparan. Apa yang sebenarnya kita bincangkan di sini ialah pemisahan berfungsi. Tugas utama antara muka pengguna adalah untuk memudahkan interaksi pengguna dengan sistem.- output dan memaparkan maklumat sistem dengan mudah kepada pengguna
- masukkan data dan arahan pengguna (komunikasikannya kepada sistem)
- Mengikut prinsip paradigma MVC, sistem mesti dibahagikan kepada modul.
- Modul yang paling penting dan bebas mestilah model.
- Model adalah teras sistem. Ia sepatutnya boleh membangunkan dan mengujinya secara bebas daripada antara muka pengguna.
- Untuk mencapai matlamat ini, dalam langkah pertama pembahagian, kita perlu membahagikan sistem kepada model dan antara muka pengguna.
- Kemudian, menggunakan corak pemerhati, kami meningkatkan kebebasan model dan menyegerakkan antara muka pengguna.
- Langkah ketiga ialah membahagikan antara muka pengguna kepada pengawal dan pandangan.
- Semua yang diperlukan untuk menerima data pengguna ke dalam sistem adalah dalam pengawal.
- Semua yang diperlukan untuk menyampaikan maklumat kepada pengguna adalah dalam paparan.
GO TO FULL VERSION