A little intro on MVC
MVC ialah singkatan untuk Model, View dan Controller.Kenapa dinamakan MVC??
MVC ialah satu bentuk penyusunan coding (architechtural pattern) yang digunakan untuk memisahkan applikasi simpanan (storing), paparan (displaying) dan kemas kini (update).
Sebelum masuk lebih lanjut, jom kite kenal dulu apa itu Model, View dan Controller.
Model - menguruskan data yang trdapat dalam application domain, memberi respond kepada request yang datang daripada View dan memberi respond kepada perubahan seperti yang diperlukan daripada Controller.
View - menguruskan segala bentuk paparan (View), lebih kepada interface.
Controller - menguruskan segala input (mouse input, keyborad input), memberitahu kepada Model tentang segala input yang diberikan oleh user untuk dilakukan sebarang perubahan.
Apabila kita create satu web application yang menggunakan MVC, secara automatik visual studio akan create satu folder untuk kita yang mengandungi folder-folder yang macam ni..
Model, View dan controller masing-masing ada folder sendiri.
Jika ada yang pernah create web application, pasti korang biasa dengan file yang format xxx.aspx, xxx.aspx.cs.
Kalu dalam web application biasa (ASP.NET webform), dia letakkan sekali file yang format aspx dan aspx.cs
Dalam MVC (ASP.NET MVC) ini,
file yang format .aspx tu dia letak dalam folder view, format dia xxxx.cshtml
antara format yang ada dalam folder view,
- .htm or .html
- .asp
- .aspx
- .cshtml
- .vbhtml
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdKBqyLS2K5qELHnVZfu_BlGQYd_gsNMDhezq4lqW36gxBVSYTOKJOFyiwdAGerWTpv9tERFbeHWCnNPHhj-KDy_7qWl4Gp8UvTv2lFT7TIrnyxVU_Opf4C2buNPWGH9jv-zIKAQ6uxzp5/s1600/pic_mvc_views.jpg)
file yang format .aspx.cs tu pulak dia letak dalam folder controller, format dia xxxxController.cs
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtbMNulEKoqQwdjATyFDhsGNHMn-naTO9R31W60YUxF4gfVmYsBbeR3pK7hrcWR-9MbU2oDe6jG7SsK1-frlo66H8uJVscU60FthsFMi0GdJPV2kJfmF-QmO3NuJcOuvknUYEH7KZr-wrG/s1600/pic_mvc_controllers.jpg)
Dalam MVC pattern ni, dia ada 2 jenis model iaitu passive model & active model.
![]() |
Figure 1 Passive model |
![]() |
figure 2 Active model |
Passive model | Active model |
---|---|
Controller modified model then inform view | Model change state without influence by controller |
Model no need to report changes to view (independent) | Model need to notify view about any changes (dependent) |
No need to use observer interface | Need to use observer interface |
MVC digunakan untuk mengelak indepency bagi setiap view dengan model.
Jika diperhatikan, dalam active model, view dengan model masih dependent antara satu sama lain.
Untuk mengelakkan dari kebergantungan model terhadap view, observer interface diperkenalkan untuk active model SAHAJA!!
Passive model tak perlu observer interface sebab model dengan view memang independant.
Sekian sahaja untuk kali ini, nanti kita share lagi, harap ada input untuk korang bagi entry kali ini..
Assalam..