Xây dựng website bán hàng kết hợp hệ thống khuyến nghị cho người dùng - Pdf 13

TRƯỜNG ĐẠI HỌC TRÀ VINH
KHOA KỸ THUẬT VÀ CÔNG NGHỆ
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG WEBSITE BÁN HÀNG
KẾT HỢP HỆ THỐNG KHUYẾN NGHỊ
CHO NGƯỜI DÙNG

Giảng viên hướng dẫn: ThS. NGUYỄN BẢO ÂN
Sinh viên thực hiện: NGUYỄN THỊ MỸ ĐỊNH
Mã số sinh viên: 110108176
Lớp: DA08TTD
Khoá: 2008 - 2012
Trà Vinh, tháng 8 năm 2012
TRƯỜNG ĐẠI HỌC TRÀ VINH
KHOA KỸ THUẬT VÀ CÔNG NGHỆ
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG WEBSITE BÁN HÀNG
KẾT HỢP HỆ THỐNG KHUYẾN NGHỊ
CHO NGƯỜI DÙNG
Giảng viên hướng dẫn: ThS. NGUYỄN BẢO ÂN
Sinh viên thực hiện: NGUYỄN THỊ MỸ ĐỊNH
Mã số sinh viên: 110108176
Lớp: DA08TTD
Khoá: 2008 - 2012
Trà Vinh, tháng 8 năm 2012
LỜI MỞ ĐẦU
Việc kinh doanh, mua bán thông qua Internet hiện nay ngày càng phổ biến. Đồng
thời, các website không ngừng đưa ra nhiều cách thức để giữ được mối quan hệ với
khách hàng cũng như ngày càng hoàn thiện chất lượng website của mình. Có nhiều
phương án để thực hiện như thăm dò ý kiến khách hàng, cho khách hàng để lại ý kiến
hay xây dựng một hệ thống tìm kiếm thật hoàn hảo giúp khách hàng dễ dàng tìm được

Tôi xin gửi lời cảm ơn đến những người bạn thân thương đã luôn nhiệt tình giúp đỡ
tôi trong suốt quá trình thực hiện khóa luận.
Đặc biệt, em xin chân thành cảm ơn những người thân trong gia đình, con cảm ơn
Mẹ, người đã luôn quan tâm động viên con trong những lúc khó khăn nhất và luôn tạo
điều kiện tốt nhất cho con trong suốt thời gian qua để con có điều kiện thuận lợi nhất
hoàn thành tốt khóa luận tốt nghiệp.
Trong quá trình thực hiện khóa luận tốt nghiệp em đã vận dụng những kiến thức
mình học, tìm hiểu, nghiên cứu để tìm ra những phương pháp hiệu quả nhằm hoàn
thành tốt đồ án. Tuy nhiên, do thời gian thực hiện khóa luận có giới hạn nên còn nhiều
mặt còn hạn chế, mong quý thầy cô góp ý để khóa luận ngày càng hoàn thiện hơn.
Em xin chân thành cảm ơn!
Sinh viên
Nguyễn Thị Mỹ Định
NHẬN XÉT
(Của giảng viên hướng dẫn trong đồ án, khoá luận của sinh viên)

Giảng viên phản biện
(ký và ghi rõ họ tên)
MỤC LỤC
Chương 1. ĐẶT VẤN ĐỀ 1
1.1. Phân tích tình hình phát triển các hệ thống website hiện nay 1
1.2. Bài toán đặt ra 2
1.3. Mục tiêu của đề tài 2
1.4. Các bước thực hiện 3
Chương 2. CƠ SỞ LÝ THUYẾT 4
2.1. Mô hình MVC 4
2.2. Hiện thực hóa mô hình MVC trên ASP.NET 8
2.3. Khai thác dữ liệu và hệ thống khuyến nghị 15
Chương 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG WEBSITE BÁN HÀNG 25
3.1. Đặc tả yêu cầu 25
3.2. Phân tích use case 25
3.3. Phân tích lĩnh vực 32
3.4. Hiện thực hóa các use case 41
Chương 4. NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ CHO
NGƯỜI DÙNG 108
4.1. Kiến trúc tổng thể 108
4.2. Tiền xử lý 109
4.3. Khai thác 111
4.4. Hậu xử lý để tạo tri thức khuyến nghị 112
Chương 5. CÀI ĐẶT THỬ NGHIỆM 114
5.1. Cài đặt 114
5.2. Thử nghiệm 114
Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 135
6.1. Kết luận 135
6.2. Hướng phát triển 135
DANH MỤC BẢNG

Hình 2.3: Sơ đồ làm việc của mô hình ba lớp 6
Hình 2.4. Cơ chế ánh xạ địa chỉ tự phát sinh trong file Global.ascx 11
Hình 2.5. Các quá trình KTDL 17
Hình 2.6. Mô hình tổng quát của hệ thống khuyến nghị 24
Hình 3.7. Mô hình use case tổng quát 27
Hình 3.8. Use case đăng nhập 27
Hình 3.9. Use case quản lý giỏ hàng 28
Hình 3.10. Use case quản lý nhóm hàng 29
Hình 3.11. Use case quản lý thuộc tính 29
Hình 3.12. Use case quản lý loại hàng 30
Hình 3.13. Use case quản lý sản phẩm 30
Hình 3.14. Use case quản lý khách hàng /User 31
Hình 3.15. Use case quản lý hóa đơn 31
Hình 3.16. Use case quản lý tin tức 32
Hình 3.17. Sơ đồ lớp tổng quát 34
Hình 3.18. Lược đồ CSDL 40
Hình 3.19. Mô hình hoạt động của hệ thống 41
Hình 3.20. Sơ đồ lớp đăng nhập 42
Hình 3.21. Sơ đồ hoạt động của use case đăng nhập 43
Hình 3.22. Sơ đồ tuần tự của use case đăng nhập 44
Hình 3.23. Giao diện đăng nhập 45
Hình 3.24. Giao diện hỗ trợ người dùng lấy mật khẩu mới 45
Hình 3.25. Mật khẩu mới được gởi đến email của người dùng 45
Hình 3.26. Sơ đồ lớp của use case đăng xuất 46
Hình 3.27. Sơ đồ hoạt động của use case đăng xuất 47
Hình 3.28. Sơ đồ tuần tự của use case đăng xuất 48
Hình 3.29. Đường dẫn chỉ đến địa chỉ đăng xuất 48
Hình 3.30. Sơ đồ lớp của use case khách hàng đăng ký thành viên 49
Hình 3.31. Sơ đồ hoạt động của use case khách hàng đăng ký thành viên 49
Hình 3.32. Sơ đồ tuần tự của use case khách hàng đăng ký thành viên 50

Hình 3.63. Tìm kiếm theo tên sản phẩm 69
Hình 3.64. Kết quả tìm kiếm theo tên sản phẩm 69
Hình 3.65. Giao diện tìm kiếm nâng cao và kết quả tìm kiếm 69
Hình 3.66. Sơ đồ lớp của use case khách hàng xem tin tức 70
Hình 3.67. Sơ đồ hoạt động của use case khách hàng xem tin tức 70
Hình 3.68. Sơ đồ tuần tự của use case khách hàng xem tin tức 71
Hình 3.69. Giao diện chi tiết tin tức 71
Hình 3.70. Sơ đồ lớp của use case quản lý nhóm sản phẩm 72
Hình 3.71. Sơ đồ hoạt động của use case quản lý nhóm sản phẩm 73
Hình 3.72. Sơ đồ tuần tự của use case quản lý nhóm sản phẩm 74
Hình 3.73. Giao diện thêm mới nhóm sản phẩm 75
Hình 3.74. Giao diện cập nhật thông tin nhóm sản phẩm 75
Hình 3.75. Giao diện xóa nhóm sản phẩm 76
Hình 3.76. Sơ đồ lớp của use case quản lý thuộc tính sản phẩm 76
Hình 3.77. Sơ đồ hoạt động của use case quản lý thuộc tính sản phẩm 77
Hình 3.78. Sơ đồ tuần tự của use case quản lý thuộc tính sản phẩm 78
Hình 3.79. Giao diện thêm mới thuộc tính 79
Hình 3.80. Giao diện cập nhật thông tin thuộc tính 79
Hình 3.81. Giao diện xóa thông tin thuộc tính 79
Hình 3.82. Sơ đồ lớp quản lý loại sản phẩm 80
Hình 3.83. Sơ đồ hoạt động của use case quản lý loại sản phẩm 80
Hình 3.84. Sơ đồ tuần tự của use case quản lý loại sản phẩm 81
Hình 3.85. Thiết kế giao diện thêm mới loại sản phẩm 82
Hình 3.86. Thiết kế giao diện cập nhật loại sản phẩm 83
Hình 3.87. Giao diện xóa một loại sản phẩm 83
Hình 3.88. Sơ đồ lớp của use case quản lý sản phẩm 84
Hình 3.89. Sơ đồ hoạt động của use case quản lý sản phẩm 85
Hình 3.90. Sơ đồ tuần tự của use case quản lý sản phẩm 86
Hình 3.91. Chọn một loại sản phẩm cho sản phẩm cần tạo 87
Hình 3.92. Giao diện thêm mới sản phẩm 88

Hình 5.123. Biểu tượng liên kết đến giỏ hàng 120
Hình 5.124. Giao diện đặt hàng 120
Hình 5.125. Kết quả thử nghiệm giao diện đăng nhập 121
Hình 5.126. Giao diện đăng ký thành viên 121
Hình 5.127. Giao diện kích hoạt tài khoản 122
Hình 5.128. Giao diện quản lý hệ thống 123
Hình 5.129. Giao diện quản lý nhóm hàng 124
Hình 5.130. Giao diện quản lý loại sản phẩm 125
Hình 5.131. Giao diện quản lý thuộc tính sản phẩm 125
Hình 5.132. Giao diện quản lý sản phẩm 126
Hình 5.133. Chọn xem sản phẩm theo loại sản phẩm 127
Hình 5.134. Giao diện danh sách sản phẩm theo loại sản phẩm 127
Hình 5.135. Giao diện quản lý người dùng 128
Hình 5.136. Giao diện quản lý người dùng (thành viên quản trị website) 128
Hình 5.137. Giao diện quản lý khai thác dữ liệu 129
Hình 5.138. Kết quả khai thác được theo từng lần mua hàng 130
Hình 5.139. Kết quả thử nghiệm hệ thống khuyến nghị theo từng đơn hàng 131
Hình 5.140. Kết quả khai thác theo toàn bộ lịch sử mua hàng 131
Hình 5.141. Kết quả khuyến nghị dựa trên toàn bộ lịch sử mua hàng của khách hàng132
Hình 5.142. Giỏ hàng có sản phẩm nằm trong danh sách khuyến nghị 133
KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
CSDL Cơ sở dữ liệu
HTML Hyper Text Markup Language
HTTP HyperText Transfer Protocol
MVC Models – Views – Controllers
KTDL Khai thác dữ liệu

Chương 1. ĐẶT VẤN ĐỀ
1.1. Phân tích tình hình phát triển các hệ thống website hiện nay
Ngày nay, cùng với sự tiến bộ của khoa học kỹ thuật, công nghệ thông tin hiện

mới nhưng hiệu quả của nó mang lại rất đáng kể. Hiện nay, hình thức khuyến nghị này
đang được nhiều hệ thống mua bán trực tuyến áp dụng và rất hiệu quả như Amazon,
eBay, …
1.2. Bài toán đặt ra
Với mục đích tìm hiểu kỹ thuật và xây dựng website bán hàng trực tuyến có vận
dụng hệ thống khuyến nghị cho người dùng, em quyết định xây dựng một hệ thống
website bán hàng được trình bày như sau:
Đến với website, khi một người nào đó có nhu cầu mua hàng, xem hàng người đó
sẽ tìm kiếm, lựa chọn tùy thích những sản phẩm thấy vừa ý. Trong quá trình này, hệ
thống sẽ liên tục cập nhật và đưa ra những sản phẩm khuyến nghị cho khách hàng
xuyên suốt quá trình chọn lựa, xem và mua hàng. Để có thể mua hàng khách hàng cần
phải có tài khoản bằng cách cung cấp các thông tin như tên đăng nhập, mật khẩu và
các thông tin cá nhân khác như số điện thoại, địa chỉ, email…
Ngoài ra, khách hàng có thể đọc tin tức tại website.
Người dùng có thể được giải đáp thắc mắc thông qua mục hỗ trợ trực tuyến của
website.
Trong các quá trình khách hàng tìm hiểu về thông tin của một sản phẩm nào đó, hệ
thống sẽ căn cứ vào sản phẩm đó đưa ra những sản phẩm khác (sản phẩm khuyến
nghị) phù hợp với sản phẩm vừa chọn cho khách hàng có thể chọn xem tiếp các sản
phẩm đó.
1.3. Mục tiêu của đề tài
- Xây dựng thành công website “Bán hàng” bao gồm các chức năng:
+ Xem thông tin sản phẩm theo nhiều cách như theo loại sản phẩm, theo nhóm
hàng, …
+ Khách hàng có thể tìm kiếm sản phẩm theo tên sản phẩm, giá cả, loại sản
phẩm.
+ Xem tin tức theo từng lĩnh vực hàng hóa được đăng trên website.
+ Cho phép khách hàng mua sản phẩm và thanh toán ở mức độ thanh toán ảo.
+ Cho phép khách hàng đăng ký thành viên và lấy mã kích hoạt tài khoản thông
qua email.

Nói tóm lại, đây là một phương pháp chia nhỏ một ứng dụng thành ba thành phần
để cài đặt, mỗi thành phần đóng một vai trò khác nhau và ảnh hưởng lẫn nhau, đó là
Models, Views, và Controllers.
2.1.2. Các thành phần trong mô hình MVC và nhiệm vụ, chức năng của từng
thành phần
Hình 2.1. Các thành phần trong mô hình MVC
Trong kiến trúc này, hệ thống được chia thành 3 tầng tương ứng đúng với tên gọi
của nó (Models – Views – Controllers). Ở đó nhiệm vụ cụ thể của các tầng được phân
chia rõ ràng và luôn hỗ trợ cho nhau.
GVHD: Nguyễn Bảo Ân 4 SVTH: Nguyễn Thị Mỹ Định
Models (Mô hình) trong ứng dụng MVC là những thành phần có nhiệm vụ lưu trữ
thông tin, trạng thái của các đối tượng, thông thường nó là một lớp được ánh xạ từ một
bảng trong CSDL. Đây là một đối tượng hoặc một tập hợp các đối tượng biểu diễn cho
phần dữ liệu của chương trình. Nó được giao nhiệm vụ cung cấp dữ liệu cho CSDL và
lưu dữ liệu vào các kho chứa dữ liệu [8]. Dữ liệu vào từ người dùng sẽ thông qua
Views đến Controllers và được kiểm tra ở Models trước khi lưu vào CSDL. Việc truy
xuất, xác nhận và lưu dữ liệu cũng là một phần nhiệm vụ của Models.
Views (Khung nhìn) là phần giao diện với người dùng. Nó bao gồm việc hiển thị dữ
liệu ra màn hình, cung cấp các menu, nút bấm, hộp đối thoại, chọn lựa …, để người
dùng có thể thêm, xóa, sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu trong hệ
thống. Thông thường, các thông tin cần hiển thị được lấy từ thành phần Models.
Controllers (Bộ điều khiển) chịu trách nhiệm xử lý các tác động về mặt giao diện,
các thao tác đối với Models và cuối cùng là chọn một view thích hợp để hiển thị ra
màn hình. Trong kiến trúc MVC, Views chỉ có tác dụng hiển thị giao diện mà thôi, còn
điều khiển dòng nhập xuất của người dùng vẫn do Controllers đảm trách.
Theo mô hình này, dữ liệu/yêu cầu của người dùng sẽ được nhận bởi Views sau đó
Views sẽ chuyển đến cho Controllers cập nhật vào Models, tiếp theo dữ liệu trong
Models sẽ được đưa lại cho Views mà không thông qua Controllers, do vậy luồng xử
lý này có hình tam giác như hình sau:
Hình 2.2. Sơ đồ làm việc của mô hình MVC

Ta thấy rằng, mỗi thành phần trong mỗi mô hình đều được phân công và giữ một
nhiệm vụ cụ thể và những thành phần này không chịu sự ảnh hưởng hay hạn chế bởi
thành phần kia. Tuy vậy, những thành phần này luôn có mối quan hệ mật thiết với
nhau và sẵn sàng hỗ trợ cho nhau khi cần thiết.
 Những điểm khác nhau giữa mô hình ba lớp và mô hình MVC
Từ những phân tích trên ta cũng thấy được rằng đối với mô hình ba lớp dữ liệu/yêu
cầu đi từ Presentation Layer đến Business Logic Layer. Tại đây Business Logic Layer
sẽ truy vấn và lấy kết quả về từ Data Layer. Quy trình hoạt động này đều thông qua
lớp 2 – Business Logic Layer. Ta có thể ví cách thức hoạt động của mô hình này hoạt
động tương tự như một hệ thống hỏi đáp tự động mà người hỏi là lớp 1 – Presentation
Layer và hệ thống tư vấn là lớp 2 – lớp Business Logic và lớp Data đóng vai trò là kho
dữ liệu. Khi người hỏi gởi câu hỏi đến hệ thống sẽ tìm câu trả lời thích hợp trong kho
dữ liệu và cuối cùng là hệ thống sẽ phản hồi kết quả về cho người hỏi. Quá trình thực
hiện cứ lặp đi lặp lại theo vòng lặp như thế. Dòng dữ liệu sẽ đi theo một con đường hai
chiều nhưng thông qua một trạm trung chuyển.
Khác với cách hoạt động của mô hình ba lớp, cách hoạt động của mô hình MVC
tương đối đơn giản. Dữ liệu/yêu cầu của người dùng sẽ được lấy thông qua Views và
truyền đến Controllers; tại đây Controllers sẽ xem xét tùy theo yêu cầu như thế nào sẽ
chuyển yêu cầu đến Models thích hợp. Models bắt đầu lựa chọn, trích lọc dữ liệu phù
hợp với yêu cầu. Cuối cùng nó gửi kết quả trực tiếp đến cho người dùng thông qua
Views mà không phải trả lại kết quả cho Controllers.
2.1.5. Ưu điểm, nhược điểm của mô hình MVC
2.1.5.1. Ưu điểm
Do các nhiệm vụ được phân vạch rõ ràng nên ứng dụng được xây dựng dựa trên
mô hình MVC có thể dễ dàng kiểm tra lỗi. Biết được lỗi do dữ liệu không hợp lệ ta
tiến hành kiểm tra trên Models. Trường hợp sai do trình điều khiển có vấn đề ta tiến
hành kiểm tra trên Controllers. Nếu lỗi do có vấn đề về giao diện ta kiểm tra trên
GVHD: Nguyễn Bảo Ân 7 SVTH: Nguyễn Thị Mỹ Định
Views mà không cần phải xem và kiểm tra lại toàn bộ module như đa số các ngôn ngữ
lập trình khác.

khoảng cách giữa phát triển Window Form hướng đối tượng (có trạng thái) và
phát triển web hướng HTML (không có trạng thái).
Microsoft đã cố gắng che dấu HTTP (không trạng thái) và HTML (vào thời điểm
đó không thân thiện với nhiều nhân viên phát triển lập trình) bằng cách dùng mô hình
giao diện như một đối tượng control có cấu trúc hoạt động phía server. [7]
Mỗi control lưu giữ trạng thái qua các request (sử dụng tính năng ViewState) tự
động tạo ra mã HTML khi cần thiết và tự động kết nối với các sự kiện phía client (ví
dụ như click) với mã hồi đáp phía server. Kết quả WebForm là một lớp trừu tượng lớn
nhằm chuyển giao diện có xử lý sự kiện thông qua Web. [7]
2.2.1.2. Nhược điểm của ASP.NET truyền thống
ASP.NET truyền thống đã từng là một ý tưởng hay nhưng thực tế cũng tồn tại
nhiều vấn đề rắc rối. Qua nhiều năm, sử dụng WebForm cho thấy có một số nhược
điểm:
ViewState: kỹ thuật lưu giữ trạng thái qua các request (ViewState) thường mang lại
kết quả là những khối dữ liệu lớn được chuyển qua lại giữa client và server. Nó có thể
đạt hàng trăm kilobytes trong nhiều dữ liệu thực và nó được chuyển qua lại với mỗi
lần request. Điều đó làm những người truy cập vào trang web phải chờ một thời gian
dài khi họ chọn một button hoặc cố gắng di chuyển đến trang kế tiếp [7]. Chính vì vậy
Ajax là một trong các giải pháp được đưa ra để giải quyết vấn đề này.
Page life cycle: kỹ thuật kết nối sự kiện phía client với mã xử lý sự kiện phía server
là một phần của page life cycle. Chỉ có một số ít lập trình viên thành công trong việc
xử lý hệ thống control trong thời gian thực mà không bị lỗi ViewState hoặc hiểu được
rằng một số trình xử lý sự kiện không được kích hoạt hay phải kích hoạt rất khó khăn.
[7]
Limited control over HTML: Server control tự tạo mã HTML tương tứng nhưng
không phải là mã HTML mà ta mong muốn. Mã HTML của chúng thường không tuân
theo tiêu chuẩn web hoặc không sử dụng tốt CSS. Hơn nữa, các server control còn tạo
ra các giá trị ID phức tạp và không đoán trước được, điều đó làm khó khăn trong việc
sử dụng JavaScript. [7]
GVHD: Nguyễn Bảo Ân 9 SVTH: Nguyễn Thị Mỹ Định

GVHD: Nguyễn Bảo Ân 10 SVTH: Nguyễn Thị Mỹ Định
hay "/Products.php" được chuyển đến file template Products.aspx hay Products.php
trên đĩa cứng để xử lý. Khi một ứng dụng web nhận được HTTP Request đến web
server, thì web framework sẽ chạy một đoạn code cụ thể tương ứng với nội dung của
file template. Lúc này, đoạn code này đóng vai trò xử lý yêu cầu do phía client gửi
đến. Thông thường thì đoạn code này sẽ sinh ra HTML và đáp ứng lại phía client.
Đối với MVC Framework lại hoạt động theo một cách khác hoàn toàn. Thay vì ánh
xạ các URL vào các file template lưu trên đĩa, nó sẽ đưa thẳng vào các class. Những
class được ánh xạ tới được gọi là “Controllers” . Các controller chịu trách nhiệm xử lý
những yêu cầu được gửi đến (request).
2.2.3.2. Cơ chế ánh xạ theo bảng định tuyến URL (URL Routing)
Browser yêu cầu một địa chỉ từ cotroller action trong ASP.NET MVC Framework
được gọi là định tuyến URL (URL Routing). URL Routing sẽ chỉ định request (yêu
cầu) đến controller action. Nó sử dụng một bảng định tuyến để điều khiển các yêu cầu
(request). Bảng định tuyến được tạo khi ứng dụng được chạy lần đầu tiên. Bảng này
được thiết lập trong file Global.asax.
Framework này có một bộ máy ánh xạ URL thật sự mạnh mẽ [6]. Bộ máy này cung
cấp phương pháp rất linh hoạt trong việc ánh xạ URL sang cho Controllers Classes.
Chúng ta có thể dễ dàng định ra các quy luật, cài đặt đường đi để ASP.NET dựa vào
các quy luật đường đi đó, xác định xem phải thực thi Controllers nào. Ngoài ra nó còn
có khả năng phân tích URL, chuyển các thông số trong URL thành các tham số trong
lời gọi hàm của Controller. Ví dụ, ta có một URL là: “/Product/Details/5” lúc này tự
động hệ thống sẽ biết tách tham số “5” ra khỏi URL để thực thi trong controller
“Product” với action là “Details”.
Hình 2.4. Cơ chế ánh xạ địa chỉ tự phát sinh trong file Global.ascx
GVHD: Nguyễn Bảo Ân 11 SVTH: Nguyễn Thị Mỹ Định
Cơ chế ánh xạ các URL được thực hiện theo quy luật sau
{controller}/{action}/{id}
Trong đó:
• controller là địa chỉ của lớp controller được chỉ định đi tới.

postback và interactive back server và thay vào đó là interactive end-user với một
controller class (không còn viewstate, page lifecycle) [6].
ASP.NET MVC Framework cũng hỗ trợ đầy đủ các tính năng bảo mật của
ASP.NET như: Form/ Windows authenticate, URL authorization, membership/roles,
output và data caching, section/ profile state, configuration system, provider
architecture, …[6]
Vì vậy, không quá khó khăn khi người lập trình ASP.NET làm quen ASP.NET
MVC.
2.2.4. Sự khác biệt giữa ASP.MVC và ASP.NET WebForm
ASP.NET WebForm sử dụng ViewState để quản lý, các trang ASP.NET đều có
lifecycle, postback và dùng các web controls, các event để thực hiện các hành động
cho UI (User Interface) khi có sự tương tác với người dùng nên hầu hết ASP.NET
WebForm xử lý chậm. Đối với ASP.NET MVC chia ra làm 3 phần: Models, Views,
Controllers. Mọi tương tác của người dùng với Views sẽ được thực hiện hành động
trong Controllers, không còn postback, lifecycel và events nữa [6].
Việc kiểm tra (test), gỡ lỗi (debug) với ASP.NET WebForm đều phải chạy tất cả
các tiến trình của ASP.NET và sự thay đổi ID của bất kỳ Controls nào cũng ảnh hưởng
đến ứng dụng. Đối với MVC thì việc đó có thể sử dụng các unit test có thể thẩm định
rất dễ dàng các Controllers thực hiện như thế nào mà không cần thay đổi các thành
phần liên quan.
Sau đây là bảng so sánh các tính năng của ASP.NET WebForm với ASP.NET
MVC
Các tính năng ASP.NET WebForm ASP.NET MVC
GVHD: Nguyễn Bảo Ân 13 SVTH: Nguyễn Thị Mỹ Định


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status