Apa yang dimaksud dengan MVC?
Model-View-Controller (MVC) adalah pola arsitektur yang memisahkan aplikasi dalam tiga komponen utama Logis: Model, View dan Controller. Masing - masing komponen ini dibangun untuk menangani aspek-aspek tertentu pembangunan aplikasi. MVC adalah salah satu kerangka pembangunan web standar industri paling sering digunakan untuk menciptakan proyek yang terukur an besar dan extensible.
Komponen MVC
Model: Komponen Model yang sesuai dengan semua data yang terkait dengan penggunaan logika dalam berkerja. Ini dapat mewakili baik data yang ditransfer antara View dan Controller komponen atau logika bisnis lain data yang terkait. Sebagai contoh, sebuah objek pelanggan akan mengambil informasi pelanggan dari database, memanipulasi itu dan memperbarui data kembali ke database atau menggunakannya untuk membuat data.
View: Komponen View digunakan untuk semua UI (User Interface) pada logika aplikasi. Misalnya, tampilan pelanggan akan mencakup semua komponen UI seperti kotak teks, dropdown, dll yang digunakan pengguna untuk berinteraksi.
Controller: Controller bertindak sebagai antar muka antara Model dan View komponen proses semua logika bisnis dan permintaan masuk, memanipulasi data menggunakan komponen Model dan berinteraksi dengan View untuk membuat hasil akhir. Sebagai contoh, controller pelanggan akan menangani semua interaksi dan masukan dari View pelanggan dan update database menggunakan Model pelanggan.Controller sama akan digunakan untuk melihat data pelanggan.
ASP.NET MVC
ASP.NET mendukung pengembangan pada 3 model besar: Halaman Web, formulir Web dan MVC (Model View Controller). Kerangka ASP.NET MVC adalah framework yang ringan, sangat diuji presentasi yang terintegrasi dengan fitur ASP.NET yang ada, seperti halaman master, otentikasi, dll. Dalam .NET, kerangka kerja ini didefinisikan dalam Majelis System.Web.Mvc. Versi terbaru dari Framework MVC adalah 5.0. Kami menggunakan Visual Studio untuk membuat ASP.NET MVC aplikasi yang dapat ditambahkan sebagai template dalam Visual Studio.
Fitur ASP.NET MVC
ASP.NET MVC menyediakan fitur berikut:
- Ideal untuk mengembangkan aplikasi dengan skala besar / kompleks tapi tetap ringan.
- Menyediakan kerangka extensible dan pluggable yang dapat dengan mudah diganti dan disesuaikan. Misalnya, jika Anda tidak ingin menggunakan built-in Razor or ASPX View Engine, maka Anda dapat menggunakan view mesin pihak ketiga atau bahkan menyesuaikan yang sudah ada.
- Memanfaatkan desain berbasis komponen aplikasi dengan logis membagi menjadi komponen Model, View dan Controller. Hal ini memungkinkan para pengembang untuk mengelola kompleksitas proyek besar-besaran dan bekerja pada komponen individual.
- Struktur MVC meningkatkan pembangunan berbasis tes dan testability aplikasi karena semua komponen yang dapat dirancang dengan antar muka berbasis dan diuji menggunakan mock objek. Maka Framework ASP.NET MVC sangat ideal untuk proyek-proyek dengan tim besar pengembang web.
- Mendukung semua yang ada luas ASP.NET fungsionalitas seperti otorisasi dan otentikasi, Master halaman, Data Binding, kontrol pengguna, keanggotaan, ASP.NET Routing, dll.
- Tidak menggunakan konsep negara View (yang hadir dalam ASP.NET). Ini membantu dalam membangun aplikasi yang ringan dan memberikan kontrol penuh untuk para pengembang.
Dengan demikian, Anda dapat mempertimbangkan MVC Framework sebagai kerangka besar dibangun di atas ASP.NET menyediakan set besar menambahkan fungsionalitas dengan fokus pada pembangunan berbasis komponen dan pengujian.
MVC Framework - Arsitektur
Pada bagian atas, kita mempelajari aliran tingkat tinggi arsitektur MVC Framework. Sekarang mari kita telah melihat bagaimana eksekusi aplikasi MVC terjadi ketika permintaan tertentu dari klien.
Diagram di bawah menunjukkan aliran:
Diagram alir MVC
Langkah-langkah aliran MVC
- Browser klien mengirimkan permintaan ke aplikasi MVC.
- Global.ascx menerima permintaan ini dan melakukan routing berdasarkan URL permintaan masuk menggunakan RouteTable, RouteData, UrlRoutingModule dan MvcRouteHandler objek
- Operasi ini routing panggilan controller sesuai dan mengeksekusinya menggunakan objek menggunakan metode IControllerFactory dan MvcHandler objek.
- Controller memproses data menggunakan Model dan memanggil metode yang tepat menggunakan ControllerActionInvoker objek
- Model diproses kemudian dilewatkan ke View yang pada gilirannya membuat Keluaran terakhir.