Bahan ini adalah sebahagian daripada siri "Pengenalan kepada Pembangunan Perusahaan". Artikel sebelumnya:
- mengenai rangkaian ;
- mengenai seni bina perisian ;
- mengenai protokol HTTP/HTTPS ;
- mengenai asas Maven ;
- tentang servlets (kami sedang menulis aplikasi web mudah) ;
- tentang bekas servlet .
Sejarah MVC
Idea untuk MVC telah dirumuskan oleh Trygve Reenskaug semasa bekerja di Xerox PARC pada akhir 70-an. Pada masa itu, untuk bekerja dengan komputer adalah mustahil untuk dilakukan tanpa ijazah akademik dan kajian berterusan dokumentasi yang banyak. Masalah yang Reenskaug selesaikan bersama-sama dengan sekumpulan pembangun yang sangat kuat adalah untuk memudahkan interaksi pengguna biasa dengan komputer. Ia adalah perlu untuk mencipta alat yang, di satu pihak, akan menjadi sangat mudah dan mudah difahami, dan di sisi lain, akan memungkinkan untuk mengurus komputer dan aplikasi yang kompleks. Reenskaug bekerja pada pasukan yang membangunkan komputer mudah alih "untuk kanak-kanak dari semua peringkat umur" - Dynabook, serta bahasa SmallTalk di bawah arahan Alan Kay. Pada ketika itu juga konsep antara muka mesra telah ditetapkan. Kerja Reenskaug bersama pasukannya banyak mempengaruhi perkembangan bidang IT. Marilah kita membentangkan fakta menarik yang tidak berkaitan secara langsung dengan MVC, tetapi menggambarkan kepentingan perkembangan tersebut. Pada tahun 2007, selepas pembentangan Apple iPhone, Alan Kay berkata: “Apabila Macintosh keluar, Newsweek bertanya apa yang saya fikirkan mengenainya. Saya berkata: ini adalah komputer peribadi pertama yang patut dikritik. Selepas pembentangan, Steve Jobs muncul dan bertanya: adakah iPhone layak dikritik? Dan saya berkata, jadikan lima kali lapan inci dan anda akan menakluki dunia.” Tiga tahun kemudian, pada 27 Januari 2010, Apple memperkenalkan iPad 9.7 inci. Maksudnya, Steve Jobs mengikut nasihat Alan Kay hampir secara literal. Projek yang Rennskaug kerjakan berlangsung selama 10 tahun. Dan penerbitan pertama tentang MVC daripada penciptanya diterbitkan lagi 10 tahun kemudian. Martin Fowler, pengarang beberapa buku dan artikel mengenai seni bina perisian, menyebut bahawa dia mempelajari MVC daripada versi SmallTalk yang berfungsi. Memandangkan tiada maklumat tentang MVC dari sumber utama untuk masa yang lama, serta beberapa sebab lain, sejumlah besar tafsiran berbeza konsep ini telah muncul. Akibatnya, ramai orang menganggap MVC sebagai skema atau corak reka bentuk. Kurang biasa, MVC dipanggil corak komposit atau gabungan beberapa corak yang berfungsi bersama untuk melaksanakan aplikasi yang kompleks. Tetapi sebenarnya, seperti yang dikatakan sebelum ini, MVC adalah satu set idea/prinsip/pendekatan seni bina yang boleh dilaksanakan dalam pelbagai cara menggunakan pelbagai corak... Seterusnya, kita akan cuba melihat idea utama yang tertanam dalam konsep MVC.Apakah itu 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 akronim 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, kepada anggaran pertama, dibahagikan kepada 2 modul: modul yang bertanggungjawab untuk melaksanakan logik perniagaan aplikasi, dan antara muka pengguna. Modul pertama akan melaksanakan fungsi utama aplikasi. Modul ini akan menjadi teras sistem, di mana model domain aplikasi dilaksanakan. Dalam konsep MVC, modul ini akan menjadi huruf M kami, i.e. model. Modul kedua akan melaksanakan keseluruhan antara muka pengguna, termasuk memaparkan data kepada pengguna dan logik interaksi pengguna dengan aplikasi. Tujuan utama pengasingan ini adalah untuk memastikan teras sistem (Model dalam terminologi MVC) boleh dibangunkan dan diuji secara bebas. Seni bina aplikasi selepas pembahagian sedemikian akan kelihatan seperti ini:Langkah 2. Menggunakan corak Pemerhati, capai kebebasan model yang lebih besar, serta penyegerakan antara muka pengguna
Di sini kami mengejar 2 matlamat:- Mencapai kebebasan model yang lebih besar.
- Segerakkan antara muka pengguna.
Langkah 3. Membahagikan antara muka kepada Paparan dan Pengawal
Kami terus membahagikan aplikasi kepada modul, tetapi pada tahap hierarki yang lebih rendah. Dalam langkah ini, antara muka pengguna (yang dipisahkan menjadi modul berasingan dalam langkah 1) dibahagikan kepada paparan dan pengawal. Sukar untuk membuat garis ketat antara pandangan dan pengawal. Jika kita mengatakan bahawa pandangan adalah apa yang pengguna lihat, dan pengawal adalah mekanisme yang membolehkan pengguna berinteraksi dengan sistem, terdapat beberapa percanggahan. Kawalan, seperti butang pada halaman web atau papan kekunci maya pada skrin telefon, pada asasnya adalah sebahagian daripada pengawal. Tetapi ia sama kelihatan kepada pengguna seperti mana-mana bahagian paparan. Di sini kita bercakap lebih lanjut mengenai pembahagian fungsi. Tugas utama antara muka pengguna adalah untuk memastikan interaksi pengguna dengan sistem. Ini bermakna antara muka hanya mempunyai 2 fungsi:- memaparkan dan memaparkan maklumat tentang sistem dengan mudah kepada pengguna;
- masukkan data pengguna dan arahan ke dalam sistem (hantarkannya ke sistem);
- Mengikut prinsip MVC, sistem perlu dibahagikan kepada modul.
- Modul yang paling penting dan bebas mestilah model.
- Model adalah teras sistem. Anda memerlukan keupayaan untuk membangunkan dan mengujinya secara bebas daripada antara muka.
- Untuk melakukan ini, pada langkah pertama pengasingan sistem, anda perlu membahagikannya kepada model dan antara muka.
- Seterusnya, menggunakan corak Pemerhati, kami mengukuhkan model dalam kebebasannya dan mendapatkan penyegerakan antara muka pengguna.
- Langkah ketiga ialah membahagikan antara muka kepada pengawal dan pandangan.
- Semua yang diperlukan untuk memasukkan maklumat daripada pengguna ke dalam sistem adalah ke dalam pengawal.
- Semua yang mengeluarkan maklumat daripada sistem kepada pengguna dilihat.
GO TO FULL VERSION