Tìm hiểu mô hình MVC trong lập trình .NET 2011
Mục đích nghiên cứu
Em nghiên cứu ASP.NET MVC nhằm những mục đích sau:
- Học đƣợc những kiến thức mới.
- Trong quá trình tìm hiểu sẽ giúp em nâng cao khả năng tự học của mình.
- Phục vụ cho việc xây dựng trang website mua bán sách, nhằm mục đích là áp
dụng đƣợc những gì đã học đƣợc đƣa vào thực tế.
- Tạo nguồn tài liệu ASP.NET MVC tiếng việt cho những ai cần tìm hiểu.
Đối tƣợng và phạm vi nghiên cứu
Nghiên cứu ASP.NET MVC 2.0, nghiên cứu các kiến thức liên quan.
Phƣơng pháp nghiên cứu
Nghiên cứu lý thuyết thông qua các ebook đƣợc phát hành bởi Microsoft. Tìm
hiểu những ví dụ trên mạng, từng bƣớc áp dụng vào các chƣơng trình thử nghiệm.
Sau đó tổng hợp lại kiến thức và hoàn thành báo cáo và sản phẩm demo.
Ý nghĩa khoa học và thực tiễn của đề tài
- Hiện tại ASP.NET MVC là một công nghệ còn mới tại Việt Nam, có rất
nhiều bạn sinh viên chƣa đƣợc biết đến công nghệ này, đặc biệt là các bạn sinh viên
tại trƣờng Việt Hàn. Chính vì thế việc hoàn thành bản báo cáo và chƣơng trình ứng
dụng sẽ giúp ích rất nhiều cho các bạn sinh viên muốn tiếp cận công nghệ mới một
cách nhanh nhất, tại vì hiện tại tài liệu tiếng việt cho ASP.NET MVC là r ất hiếm,
đồng thời có sẵn một ứng dụng demo sẽ giúp các bạn dễ hiểu và áp dụng hơn.
- ASP.NET MVC có rất nhiều ƣa điểm vƣợt trội, em nghĩ tƣơng lại ASP.NET
MVC sẽ dần thay thế ASP.NET Webform trong việc xây dựng website. Cho nên
việc tìm hiểu công nghệ này sẽ có tính thực tiễn rất cao, có thể áp dụng ngay bây
giờ hoặc trong tƣơng lai.
2
Nguyễn Trọng Trí – Lớp HT02
Tìm hiểu mô hình MVC trong lập trình .NET 2011
PHẦN 1
GIỚI THIỆU MÔ HÌNH MVC
Xuất xứ
1.1.
Tất cả bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox
PARC ở Palo Alto. Sự ra đời của giao diện đồ họa (Graphical User Interface) và lập
trình hƣớng đối tƣợng (Object Oriented Programming) cho phép lập trình viên làm
việc với những thành phần đồ họa nhƣ những đối tƣợng đồ họa có thuộc tính và
phƣơng thức riêng của nó. Không dừng lại ở đó, những nhà nghiên cứu ở Xerox
PARC còn đi xa hơn khi cho ra đời cái gọi là kiến trúc MVC (viết tắt của Model –
View – Controller).
MVC
đƣợc
phát
minh
tại
Xerox
Parc
vào
những
năm
70,
bởi TrygveReenskaug. MVC lần đầu tiên xuất hiện công khai là trong Smalltalk-80.
Sau đó trong một thời gian dài hầu nhƣ không có thông tin nào về MVC, ngay cả
trong tài liệu 80 Smalltalk. Các giấy tờ quan trọng đầu tiên đƣợc công bố trên
MVC là “A Cookbook for Using the Model-View-Controller User Interface
Paradigm in Smalltalk - 80”, bởi Glenn Krasner và Stephen Pope, xuất bản trong
tháng 8 / tháng 9 năm 1988.
Kiến trúc của mô hình MVC
1.2.
Trong kiến trúc MVC, một đối tƣợng đồ họa ngƣời dùng (GUI Component)
bao gồm 3 thành phần cơ bản: Model, View, và Controller. Model có trách nhiệm
đối với toàn bộ dữ liệu cũng nhƣ trạng thái của đối tƣợng đồ họa. View chính là thể
hiện trực quan của Model, hay nói cách khác chính là giao diện của đối tƣợng đồ
họa. Và Controller điều khiển việc tƣơng tác giữa đối tƣợng đồ họa với ngƣời sử
dụng cũng nhƣ những đối tƣợng khác.
3
Nguyễn Trọng Trí – Lớp HT02
Tìm hiểu mô hình MVC trong lập trình .NET 2011
Hình 1.1: Các thành phần chính của mô hình MVC
Khi ngƣời sử dụng hoặc những đối tƣợng khác cần thay đổi trạng thái của đối
tƣợng đồ họa, nó sẽ tƣơng tác thông qua Controller của đối tƣợng đồ họa. Controller
sẽ thực hiện việc thay đổi trên Model. Khi có bất kỳ sự thay đổi nào ở xảy ra ở
Model, nó sẽ phát thông điệp (broadcast message) thông báo cho View và
Controller biết. Nhận đƣợc thông điệp từ Model, View sẽ cập nhật lại thể hiện của
mình, đảm bảo rằng nó luôn là thể hiện trực quan chính xác của Model. Còn
Controller, khi nhận đƣợc thông điệp từ Model, sẽ có những tƣơng tác cần thiết
phản hồi lại ngƣời sử dụng hoặc các đối tƣợng khác.
Hình 3.2: Mô hình tuần tự của MVC
4
Nguyễn Trọng Trí – Lớp HT02
Tìm hiểu mô hình MVC trong lập trình .NET 2011
Ví dụ:
Lấy ví dụ một GUI Component (thành phần đồ họa ngƣời dùng) đơn giản là
Checkbox. Checkbox có thành phần Model để quản lý trạng thái của nó là check
hay uncheck, thành phần View để thể hiện nó với trạng thái tƣơng ứng lên màn
hình, và thành phần Controller để xử lý những sự kiện khi có sự tƣơng tác của
ngƣời sử dụng hoặc các đối tƣợng khác lên Checkbox.
Khi ngƣời sử dụng nhấn chuột vào Checkbox, thành phần Controller của
Checkbox sẽ xử lý sự kiện này, yêu cầu thành phần Model thay đổi dữ liệu trạng
thái. Sau khi thay đổi trạng thái, thành phần Model phát thông điệp đến thành phần
View và Controller. Thành phần View của Checkbox nhận đƣợc thông điệp sẽ cập
nhật lại thể hiện c ủa Checkbox, phản ánh chính xác trạng thái Checkbox do Model
lƣu giữ. Thành phần Controller nhận đƣợc thông điệp do Model gởi tới sẽ có những
tƣơng tác phản hồi với ngƣời sử dụng nếu cần thiết.
Đặc điểm của mô hình MVC
1.3.
Cái lợi ích quan trọng nhất của mô hì nh MVC là nó giúp cho ứng dụng dễ bảo
trì, module hóa các chức năng, và đƣợc xây dựng nhanh chóng. MVC tách các tác
vụ của ứng dụng thành các phần riêng lẽ model, view, controller giúp cho việc xây
dựng ứng dụng nhẹ nhàng hơn. Dễ dàng thêm các tính năng mới, và các tính năng
cũ có thể dễ dàng thay đổi. MVC cho phép các nhà phát triển và các nhà thiết kế có
thể làm việc đồng thời với nhau. MVC cho phép thay đổi trong 1 phần của ứng
dụng mà không ảnh hƣởng đến các phần khác.
Sở dĩ nhƣ vậy vì kiến trúc MVC đã tách biệt (decoupling) sự phụ thuộc giữa
các thành phần trong một đối tƣợng đồ họa, làm tăng tính linh động (flexibility) và
tính tái sử dụng (reusebility) của đối tƣợng đồ họa đó. Một đối tƣợng đồ họa bấy
giờ có thể dễ dàng thay đổi giao diện bằng cách thay đổi thành phần View của nó
trong khi cách thức lƣu trữ (Model) cũng nhƣ xử lý (Controller) không hề thay đổi.
Tƣơng tự, ta có thể thay đổi cách thức lƣu trữ (Model) hoặc xử lý (Controller)
của đối tƣợng đồ họa mà những thành phần còn lại vẫn giữ nguyên.
5
Nguyễn Trọng Trí – Lớp HT02
Tìm hiểu mô hình MVC trong lập trình .NET 2011
Chính vì vậy mà kiến trúc MVC đã đƣợc ứng dụng để xây dựng rất nhiều
framework và thƣ viện đồ họa khác nhau. Tiêu biểu là bộ thƣ viện đồ họa của ngôn
ngữ lập trình hƣớng đối tƣợng SmallTalk (cũng do Xerox PARC nghiên cứu và phát
triển vào thập niên 70 của thế kỷ 20). Các Swing Components của Java cũng đƣợc
xây dựng dựa trên kiến trúc MVC. Đặc biệt là nền tảng ASP.NET MVC Framework
sẽ đƣợc em trình bày ở chƣơng sau đây.
6
Nguyễn Trọng Trí – Lớp HT02
Tìm hiểu mô hình MVC trong lập trình .NET 2011
PHẦN 2
MÔ HÌNH MVC TRONG ASP.NET
Giới thiệu tổng quan
2.1.
Nhƣ đã nói ở phần 1, mô hình MVC với những ƣu điểm đã đƣợc ứng dụng
nhiều trên các nền tảng (framework) khác nhau, trong đó có một nền tảng
(framework) nổi tiếng đƣợc nhiều ngƣời biết đến và sử dụng đó là nền tảng
(framework) ASP.NET MVC. Vậy ASP.NET MVC là gì ?
ASP.NET MVC là một nền tảng (framework) phát triển ứng dụng web mới
của Microsoft, nó kết hợp giữa tính hiệu quả và nhỏ gọn của mô hình model -viewcontroller(MVC), những ý tƣởng và công nghệ hiện đại nhất, cùng với những thành
phần tốt nhất của nền tảng ASP.NET hiện thời. Là một lựa chọn khác bên cạnh nền
tảng WebForm khi phát triển 1 ứng dụng web sử dụng ASP.NET.
Trong chƣơng này em sẽ trình bày lý do lại sao ASP.NET MVC đƣợc tạo ra,
nó có gì khác so với ASP.NET WebForm, và cuối cùng là những cái mới trong
ASP.NET MVC.
Hình 4.1: Mô hình MVC
7
Nguyễn Trọng Trí – Lớp HT02

Đăng nhận xét