Em xin chân thành cảm on sự giúp đỡ của toàn thé các giảng viên trong khoa công nghệ thông tin trường Đại học Hải Phòng, cũng như sự chỉ bảo của các anh chị tại công ty nơi em thực tập đ
Trang 1TRƯỜNG ĐẠI HỌC HẢI PHÒNG
KHOA CÔNG NGHỆ THÔNG TIN
Giảng viên hướng dẫn:
Nguyễn Minh Hoàng
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kếtquả nêu trong báo cáo là trung thực và chưa từng được ai công bồ trong bất kì côngtrình nào khác Tôi xin cam đoan rằng các thông tin trích dẫn trong báo cáo đều đãđược chỉ rõ nguồn gốc
Hải Phòng, ngày tháng năm 2024
Tác giả
Nguyễn Minh Hoàng
Trang 3LỜI CẢM ƠN
Trước hết, em xin bày tỏ lòng biết ơn sâu sắc tới ThS Trần Quốc Tuan, người đãtrực tiếp hướng dẫn và tận tình giúp đỡ em hoàn thành báo cáo thực tập này
Em xin chân thành cảm on sự giúp đỡ của toàn thé các giảng viên trong khoa
công nghệ thông tin trường Đại học Hải Phòng, cũng như sự chỉ bảo của các anh chị tại
công ty nơi em thực tập đã diu dat, day dỗ em cả về kiến thức chuyên môn và tinh thầnhọc tập, sáng tạo để em có được kiến thức thực hiện báo cáo của mình
Trong quá trình thực hiện báo cáo thực tập, mặc dù đã cô gang hét sire song dothời gian và khả năng có hạn nên em không thé tránh khỏi những thiếu sốt Vì vậy, emrất mong nhận được sự thông cảm, chỉ bảo và giúp đỡ của các thầy giáo, cô giáo và các
bạn.
Một lần nữa em xin chân thành cam on!
Trang 4MỤC LỤC
LỜI CAM ĐOAN 1LỜI CẢM ƠN 2MỤC LỤC 3
DANH MỤC CÁC CHỮ VIET TAT 6 DANH MỤC CÁC BANG 7 DANH MỤC CÁC HÌNH 8LỜI NÓI ĐẦU 10CHUONG I: CƠ SỞ LÍ THUYET 12
1.1 Công nghệ ASP.NET MVC 12 1.1.1 Lịch sử ra đời của MC + 2 22 1 S231 2v ng ng ng ng cư 12
1.1.2 Kiến trúc ASP.NET MVC 2-2222222212211271222121117112712171e Xe 121.1.3 Sự tương tác giữa các thành phan trong mô hình MVC - 141.1.4 Ưu nhược điểm của mô hình MVC 2 5¿ 22 s+2sz2csczzczzzersee 15
1.2 Vài nét về thương mại điện tử B2C 18
584 0 -:::HA|,., 18 1.2.2 Phân loại mô hình TMĐT B2C và hoạt động - : + 18
CHUONG 2: PHAN TÍCH, THIẾT KE HE THONG 232.1 Téng quan: 23
2.1.1 Hi€n trang 23
2.2.2 Mục tiêu xây dựng hệ thong ẮddaaaầaaăăẢ 23
TT 232.2 Đặc ta yêu cầu: 232.2.1 Thu thập yêu cầu -2- 2-©22©22EE+2EE£EEEEE221271222127171277122222e xe 24
2.2.2 Các giả định và phụ thuộc - - + 55 222222222 x+tsrrsrrrrrrrerrrsrrre 26 2.3 Mô tả Use case: 27 2.3.1 Xác định Use case của các tác nhân - + 252cc 22c czzcezeeczz 27
2.3.2 Biểu d6 Use €aSe 5c Sc 221 21232211 1151111111171211121711112111e 2274 ExeE 28
2.3.3 Kịch bản USe Case - Q00 131101119230 1 1n ng ng re 30
Trang 52 All DSHS THHẤT su neggngbinnontiaibiliiibtisttssEtSSEIDOSESIIEDSIANSSSSISEESSERSSTISSSEINSSEESXGESD1SE431 DAL PANS ,KWsssnngsenstostiipiaikE0io%.280 0889120809818081051040738H00i1039n809000288550q0893gi900380-15g12790.70000390/058.0
gu1:)TtiKỂNfbuouossuoetsskontrersvrrgosgtdophtisistoidggtibign9940-0694884249161403300E019500/1011300/104
2.4.4 Stra thong i0 0 8n
2.4.5 Thêm sản phẩm vào giỏ +- 22252 ©7S2SCE22ES22EE22212212221222122222xe2
2.4.6 Cập nhật trạng thái đơn hàng 5-5-2 222222222 rrsrirrerrrrsrrre
36 36 37 37 38 38 39
2.5 Biểu đồ tuần tự
2.5.1 Biểu đồ tuần tự đăng nhập ¿- 2222 ©+2©+2£E+2£2+eEzxrrxrrrxrrrree2.5.2 Biểu đồ tuần tự đăng ký ¿-2¿©2S222S222x22A 2212212212212 xe.2.5.3 Biểu đồ tuần tự tìm kiếm ¿22-22 ©2+2©2x2EE2EEE22A.2EECEEErrxrrrree2.5.4 Biểu đồ tuần tự đặt hàng - ¿2+ 52 ©2+2S2+ES2EEE9212E71221273122221e c0,2.5.5 Biểu đồ tuần tự thêm sản phẩm -¿ 2222 ©+2£+z2z+z+zxzzxzczeee2.5.6 Biểu đồ tuần CAP Thật WANS THẾ uananaanndibiintittoiB81011BE8t3S9AS03 dH0pti88svsuinl2.5.7 Biểu đồ sửa thông tin cá nhân khách hàng -. 2 2 2zsz=s22.5.8 Biểu đồ đặt hàng -. -¿- ©2222 E21 31212 11711111711117111117121121 11210,2.6 Thiết kế cơ sở dữ liệu
2.6.1 Biểu đồ lớpp -2-©22 S22 2E+2EE2E122121127112112111711711117112712121e xe
2.6.2 Mô tả các bảng dữ liệu chính trong SQL SerV€T -‹s+s<c<<<+CHƯƠNG 3: THỰC NGHIEM XÂY DỰNG HE THONG 3.1 Môi trường cài đặt
39 40 41 41 42 43 43 44 45 45 45 48 48 3.2 Giới thiệu Visual Studio 2022, Jetbrains Rider và MS SQL Server
3.2.1 Visual Studio 2022 và Jetbrains Rider - 55555 555 <<<52<2
3.2.2 Giới thiệu về MS ĐO) |Lsi36†vSf 2022 senses thiigtdditiiBiBii HEA4000a30433885E 8888060 usai
3.3 Giới thiệu giao diện website
48
3.3.1 Giao din trang CHU 0 ee
3.3.2: Giao dién danh muc san pham re
3.3.3 Giao diện đăng nhập va đăng ki tài khoản -+cc+<>sec+s
3.3.4 Giao diện tìm kiếm sản phẩm oh en cree
Trang 63.3.5 Giao điện sản phâm và đặt hàng
3.3.6 Giao diện trang quản lý tài khoản cho adminKET LUẬN
TÀI LIỆU THAM KHẢO
Trang 7DANH MỤC CAC CHỮ VIET TAT
API Application Programming Interface ASP Active Server Pages
CSDL Co sở dữ liệu
CSS Cascading Style Sheets
HTML HyperText Markup Language
IDE Integrated Developement Enviroment MVC Model-View-Controller
NET Network Enabled Technologies
UC Use Case
VS Visual Studio
Trang 8DANH MỤC CAC BANG
Bang | Cac phiên ban ASP.NET MỸ suasuageaenbniiiiiasgi41801000315014616X3839140804/0105 12
Bảng 2 Phân tích yêu cầu chức năng hệ thống 2-2-2 ©2222z£z+2zzzzz+z 25
Bảng 3 Xác định use case của các tác MAAN «0.0.2 cesecseeseeseeeseeseesececececesseeeneeseenseaes 28 Bang 4 Kịch ban Use case đăng ki thành viên 5 2-2 5< +2 zzsrssssrrsrser 31 Bang 5 Kịch bản Use case đăng nhập - 5 +52 +2 s++E+tEsrsrersrrrersrrerrsre 32
Bang 6 Kịch ban Use case đăng XUat ccccccccecsssecssecssecssecssecssecssecseecsecsecsseessecsseeens 32
Bảng 7 Kịch ban Use case xem thông tin cá nhân +5 5+ 2+2 xzsrszesreersez 33 Bảng 8 Kịch bản Use case sửa thông tin cá nhân ¿55c s+srsscsssrsez 33
Bang 9 Kich ban Use case đổi mật KNAU Lee ececeesesesesecsseesecsesecsesesersesecsessessneneeses 34Bang 10 Kich ban Use case lay lại mật KMAU occ eeeseesesecsesececseseceeseceesesecsesesersnsneeees 35
Bảng 11 Kịch ban Use case quản lí tài khoản - -+5+-++2s++s+sex+srszszresrsez 36 Bảng 12 Bảng slide - - 2 - 2G 2121 13 3 vn TH TH HH nh ng 46 Bang 13 Bảng product_CateQOry scssssessesccssossessesnsenvsessevasvesstecsouessnsveveeverseossovsaveanesved 46 Bang 0 857)i-á0i c0 46 Bang 15 Bang COMMENL 46 Bảng 16 Bang Order :ccsccsssccssessseccsscorseserseserscesessateveecersssestesnsecesssvaceosensesasentesntsees 47 Bang 17 Bang Cart 0.0 47
Trang 9DANH MỤC CÁC HÌNH
Hình 1 Mô hình MIV cuc ngũ gi 0 H1 gH 0ã 81581014141348434656183183E822811439551164481588 166 13
Hình 2 Tương tac các thành phan trong MVC.u ccsccsseessesseesssecseecseesseessecesecsseesseeens 15Hình 3 Sơ đồ Use case tông quát - + 2+2 ©E+2S££E£ZE££E+ZSEEZEerEerkerrrsee 29Hình 4 So đồ Use case phân rã quan lí thông tin cá nhân . . -2 -ÖÖHình 5 Sơ đồ Use case phân rã quản lí user -2 2- 2£ 22+22z+z+£+z+zxzzxezze+ 30Hình 6 Biểu đồ hoạt động đăng nhập 2 22 2 22 z£EE+EE+ZEE+EE.EEErEErrkerrerred 36Hình 7 Biểu đồ hoạt động đăng kí + 25+ S2 SES2EEE92152E732211712221712 222 XeC 36Hình 8 Biêu đồ hoạt động tìm kiếm sản phẩm -2- 2 2222 2zz+2zxzzzez 37Hình 9 Biêu đồ hoạt động sửa thông tin cá nhân -2- 2 2+222+z++czxeczee 37Hình 10 Biểu đồ hoạt động thêm sản phẩm vào giỏ 2 222 2522szczz2S22 38Hình 11 Biểu đồ hoạt động cập nhật trạng thai don hàng -.- - 5-5 5<< 38Hình 12 Biêu đồ tuần tự đăng nhập 2- 2-22 22++++£++E+zrxrrxrzrxerree 39Hình 13 Biểu đồ tuần tự đăng kí -2- 222 ©22+22+£EE£EEEEEEEEErkrrkrrrkrrred 40Hình 14 Biểu đồ tuần tự tìm kiếm -222++222reetEEEH.EE 41Hình 15 Biéu đồ tuần tự đặt hàng - 2-22 ©2++©+z+EEtEEerErerxrrrxrrrrrrree 41Hình 16 Biêu đồ tuần tự thêm sản phẩm -2- 2-22 22+EE2£E22EEtzxzrxezred 42Hình 17 Biểu đồ tuần tự cập nhật trạng thái 22+ 2©222s2£2+2szzEzzszzzzzsez 43Hình 18 Biểu đồ tuần tự sửa thông tin cá nhân khách hàng -2 43Hình 19 Biéu đồ tuần tự đặt hàng 2 22-©22©2+2E22EEEEEEEEErkrrrrrrrrrrree 44Hình 30 Hiền đỗ TỔN „ «ecesexuccscosonhoneconngon ng tong kơotddnggigSL 40021004 mpg9tet-dprgrmnbreo 45
Hình 21 Ciiao diện: TDG[ÊÍ -ssssessssesbiiebieatiEiEGEtl40g1550001013918835561485EXEEEISNSSHEEEEESRSXEASL4GS2100437 52
Hình 22 Danh mục sản phẩm Mainboard ¿+ 2 ©22+s22££s£££zS££zzszzzzzsz2 52Hình 23 Danh mục san pham CPU u ccccscccssesssesssesssecssecssecssecssecssecsessessssesseseseessecens ep
Hình 24 Hình ảnh danh mục R AÌMI 55 S2 S2 2223 2 vn ng ng ca 53 Hình 25 Hình ảnh danh mục SDD/HDD ee eeeeeeeceeeeecneeeeceeeseeeesaeeeeseeeecneeeeeneeees 54 Hinh 26 Hinh ;ìiÌi0sì1i8i 046V 54 Hình 27 Hình ảnh danh mục Case ccccccceeesccsceeeseececseseccececessnsceceesssssecesesseeeeeenees 55 Hình 28 Hình ảnh danh mục Màn hình ¿+5 2< 22221 22223 2£ 22 ceszzee 56
Trang 10Hình 29 Hình ảnh giao diện đăng nhập khách hàng - - +5 <+s++s£+s>+ 56
Hình 30 Hình ảnh giao diện đăng kí khach hàng mới 2- 2252552 57Hình 31 Hình ảnh hién thị kết qua tim kiếm sản phâm - 2-2522 #Hình 32 Hình ảnh giao diện sản phẩm ¿2-2 22©2+22E+22E+EE22EEcEEerserrxeree 58
Hình 33 Hình ảnh giao diện gid hang - c5 <1 23132313931 851 811 11 gvrrey 58 Hình 34 Hình ảnh giao diện thông tin thanh đơn khách hàng - 59 Hình 35 Hình ảnh giao diện đăng nhập cho admin 5-5 +5-*s+sz+ss>+sszssz 3Ð Hình 36 Hình ảnh giao diện Admin PanelÌ , 5 5< 5 +5 + +23 **s£seezeeereerrse 60 Hình 37 Hình anh giao diện quan lí danh mục 25 5< 5 c2+*£+x£sx+zeesee 60
Hình 38 Hình ảnh giao diện quản lí sản phâm - 2-2-2 222+z£z+2z+zzzsz 61
Hình 39 Hình ảnh giao diện quan lí đơn hàng 7-52-5522 <2 s+sz+ss>zesrsez 61 Hình 40 Hình anh giao diện quan lí khách hàng - 5 2552552222 *scsseseses 62 Hình 41 Hình ảnh giao diện quan lí nhân viên - 55 sec seeesrrrrrrre 62 Hình 42 Hình ảnh giao diện quản lí bình luận - 5 55 2< <+<c<csseseerxrs 63
Trang 11LỜI NÓI ĐẦU
Những cơ sở thực tiễn của đề tài
Công ty TNHH TM & DV Laptop 360 là công ty chuyên kinh doanh về các thiết
bị Viễn Thông - Công Nghệ Thông Tin Ngày nay, do việc mở rộng quy mô, số lượngkhách hàng ngày càng tăng, phân loại hang hoá càng chuyên sâu hon, dé đáp ứng đượcyêu cầu đó công ty cần một hệ thông mới dé hỗ trợ cho việc quan lý bán hàng thiết bịmáy tính hiệu quả tốt hơn, nhanh chóng hơn
Việc phân loại hàng hoá mang lại nhiều lợi ích hơn so với việc gộp chung tat cảsản phẩm của cửa hàng Với tầm quan trọng đó, nhóm đã quyết định thực hiện xấy dựngmột hệ thống website mới nhằm phân tách việc bán hàng thiết bị và sửa chữa máy móc.Sau thời gian tìm hiểu khảo sát, nghiên cứu nhóm đã xây dựng thành công giải phápwebsite “Bán thiết bi máy tính — Linhkienso1HaiPhong” Với website này nhóm mongmuốn đem lại những tính năng ưu việt nhằm giúp việc buôn bán của doanh nghiệp cóthể hiệu quả hơn, trực quan và minh bạch hơn, giảm tối đa áp lực công việc cho ngườiphụ trách bán hàng đồng thời tăng tính chính xác và quản lý thông tin toàn diện về sảnphẩm, sẽ hỗ trợ cho người quan lý có được đánh giá tốt nhất, nhanh nhất về con người
mà mình quản lý cũng như xu hướng mua hàng và theo dõi các đơn hàng của khách
hàng Đứng trước nhu cầu cấp thiết cần phải thiết kế website bán thiết bị nhằm tách rờivới sửa chữa thiết bị cũng như việc đam mê lập trình ứng dụng web, em đã chọn đề tài:
“Nghiên cứu mô hình lập trình MVC và ứng dụng xây dựng website bán thiết bịmáy tính” làm đề tài báo cáo tốt nghiệp
Mục tiêu nghiên cứu:
e_ Quản lý sản phẩm
e Quản lý khách hàng
e Quản lý đơn hang
e Quan lý nhân viên
e Quản lý phân quyên người sử dụng hệ thống
10
Trang 12e_ Các loại báo cáo thống kê như: báo cáo về thông tin nhân sự hàng hoá củacông ty, báo cáo về đơn hàng, khách hàng của công ty Hệ thống hiện tại áp
dụng cho các công ty vừa và nhỏ.
Nội dung báo cáo gồm có 03 chương:
Chương 1: Cơ sở lý thuyết
Tìm hiểu về công nghệ ASP.NET MVCS, thương mại điện tử, khái quát lên được
ưu nhược diém va tầm quan trọng của các công nghệ này trong việc xây dựng các hệthống website hiện nay
Chương 2: Phân tích, thiết kế hệ thống
Từ việc khảo sát hệ thống ban đầu, nội dung ở phần này tập trung xác định cácyêu cầu mà hệ thống cần đáp ứng, xác định các chức năng cần có, luồng dữ liệu và cácthực thé trong hệ thống, từ đó thiết kế CSDL, xử lý các chức năng, thiết kế chương trìnhChương 3: Thực nghiệm xây dựng hệ thống
Từ dữ liệu có được qua phần phân tích, thiết kế hệ thống và ứng dụng từ việc tìmhiểu công nghệ ASP.NET MVC, nội dung chương 3 tập trung xác định môi trường triểnkhai và thiết kế hệ thống, đưa ra kết luận và rút kinh nghiệm
11
Trang 13CHƯƠNG I: CƠ SỞ LÍ THUYET
1.1 Công nghệ ASP.NET MVC
1.1.1 Lịch sử ra đời của MVC
Mô hình MVC (viết tắt của Model - View - Controller) là một kiến trúc phần
mềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm Nó giúp cho các lậptrình viên tách ứng dụng của họ ra 3 thành phần khác nhau Model, View và Controller.Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác.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 - GUID) và lập trình hướng đối
tượng (Object Oriented Programming - OOP) 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 kiến trúc MVC (viết tắt của Model — View - Controller) Kiến trúc này ngày càngđược phát triển và hoàn thiện nhằm giải quyết các van dé phát sinh cũng như các giảipháp cho quá trình phát trién phần mém.""!
Vì vậy sau đó, lần lượt các MVC framework ra đời dựa trên mô hình MVC như:
Codelgniter, Zend, ASP.NET MVC
Trang 14(Cốc trà sữa}
Controller (Nhân viên phục vụ)
N
User
(Bạn)
Hình 1 Mô hình MVC
Như tên gọi MVC gồm 3 thành phan với các chức năng khác nhau
- M (Model): là nơi chứa các nghiệp vụ tương tác với cơ sở dữ liệu Nó bao
gồm các class/ function xử lý nhiều nghiệp vụ như kết nối database, truy vấn đữ liệu,
thêm — xóa — sửa dữ liệu
- V (View): Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơichứa tat cả các đối tượng GUI như textbox, images Hiểu một cách đơn giản, nó là
tập hợp các form hoặc các file HTML.
- C (Controller): Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng vagọi đúng những phương thức xử lý chúng Chăng hạn thành phần này sẽ nhậnrequest từ url và form để thao tác trực tiếp với Model
1.1.2.1 Model:
Model là thành phần chủ yếu được sử dụng dé thao tác xử lý dit liệu Trong cácframework, Model vẫn thường sử dụng theo phương thức Active Record Một trongnhững design pattern Chúng có tác dụng rút ngắn thời gian viết câu truy vấn cho người
sử dụng Biến những câu truy vấn phức tạp trở nên gần gũi và thân thiện với người sử
dụng thông qua các thư viện được định nghĩa sẵn
Model thường sẽ là các phương thức có trách nhiệm xử lý các tác vụ như: select,
insert, update, delete các record trong database Ung với cách lay dữ liệu, model thường
13
Trang 15sử dụng mảng để gửi trả kết quả về Vì mảng có thể cho phép model lưu trữ nhiều thông
tin hơn, nên thường các record khi bóc tách chúng sẽ mang các dữ liệu của database một
Vì vậy, View là một phần trong việc nâng cấp những hạn chế ấy Chúng giúpgiảm thiểu tối đa quá trình biên dich nhiều lần Và làm cho ứng dụng trở nên mạnh mẽ
và chuyên nghiệp hơn nhiều so với cách lập trình thuần
112.3 Controller:
Controller có trách nhiệm chính là điều hướng các yêu cầu của người sử dụng.Như vậy trên toàn ứng dụng của ta, tất cả các request đều sẽ phải đi tới Controller Vàtại đây, ứng với các tham số người sử dụng truyền mà ta đưa họ đến một tác vụ nào đótrên ứng dụng.Tại các tác vụ này, chúng sẽ thong qua lớp Model dé làm việc và trả kếtquả trở về Controller Cuối cùng controller sẽ day dữ liệu thao tác tới view View làthành phần cuối cùng mà người sử dụng nhận được khi họ giở request tới ứng dụng
1.1.3 Sự tương tác giữa các thành phần trong mô hình MVC
14
Trang 16Mẫu Kiến trúc MVC
Lay dữ liệu từ getter Lay dữ liệu tu getter
ControllerDau ndo Biến đổi
Điều khiển và quyết
định dữ liệu sẽ hiển thị
như thế nào
View
UI Thé hién trang thai
hiện tai của Model -'s Thiết lập dữ
liệu qua liệu qua setter hoặc setter event handler
Hình 2 Tương tác các thành phan trong MVCController — View sẽ lay những hình anh, nut bam hoac hién thi dữ liệu đượctra ra từ Controller dé người dùng có thé quan sát và thao tác Trong sự tương tac nàycũng có thé không có dữ liệu được lay từ Model và khi đó nó chỉ chịu trách nhiệm hiểnthi đơn thuần như hình anh, nút bam
Controller — Model là luồng xử lý khi controller tiếp nhận yêu cầu và các tham
số đầu vào từ người dùng, controller sẽ sử dụng các lớp/hàm trong Model cần thiết đểlay ra những dữ liệu chính xác
View — Model có thể tương tác với nhau mà không qua Controller, nó chỉ damnhận hiển thị dữ liệu chứ không phải qua bat kỳ xử lý nghiệp vụ logics nào Nó giốngnhư các vùng đữ liệu hiển thị tĩnh trên các website như block slidebar Khi có một yêucầu từ phía client gửi đến server, Bộ phận controller có nhiệm vụ nhận yêu cầu, xử lýyêu cầu đó Và nếu can, nó sẽ gọi đến phan model, vốn là bộ phan làm việc với
Database.!?l
1.1.4 Ưu nhược điểm của mô hình MVC
15
Trang 171.1.4.1 Ưu điểm
Đầu tiên, nhắc tới ưu điểm mô hình MVC thi đó là băng thông (Bandwidth)nhẹ vì không sử dụng viewstate nên khá tiết kiệm băng thông Việc giảm băngthông giúp website hoạt động 6n định hơn
Kiểm tra đơn giản và dễ dàng, kiêm tra lỗi phần mềm trước khi bàn giao lại
cho người dùng.
Một lợi thế chính của MVC là nó tách biệt các phần Model, Controller và
View với nhau.
Sử dụng mô hình MVC chức năng Controller có vai trò quan trọng và tối ưutrên các nền tảng ngôn ngữ khác nhau
Ta có thể dễ dàng duy trì ứng dụng vì chúng được tách biệt với nhau
Có thể chia nhiều developer làm việc cùng một lúc Công việc của cácdeveloper sẽ không ảnh hưởng đến nhau
Hỗ trợ TTD (test-driven development) Chúng ta có thê tạo một ứng dụng vớiunit test và viết các won test case
Phiên bản mới nhất của MVC hỗ trợ trợ thiết kế responsive website mặc định
và các mẫu cho mobile Chúng ta có thể tạo công cụ View của riêng mình với
cú pháp đơn giản hơn nhiều so với công cụ truyền thống
1.1.4.2 Nhược điểm
Không thé Preview các trang như ASP.NET
Khó triển khai
1.1.4.3 Vi sao nên sử dung MVC
Quy trình phát triển nhanh hơn
MVC hỗ trợ phát việc phát triển nhanh chóng và song song Nếu một mô hìnhMVC được dùng dé phát triển bat kỳ ứng dụng web cụ thé nào, một lập trình viên có thé
làm việc trên View và một developer khác có thê làm việc với Controller đê tạo logic nghiệp vụ cho ứng dụng web đó.
Do đó, ứng dụng mô hình MVC có thé được hoàn thành nhanh hơn ba lần so với
các ứng dụng mô hình khác.
Khả năng cung cap nhiều che độ view
16
Trang 18Trong mô hình MVC, bạn có thể tạo nhiều View cho chỉ một mô hình Ngày nay,nhu cầu có thêm nhiều cách mới dé truy cập ứng dụng và đang ngày càng tăng Do đó,việc sử dụng MVC để phát triển chắc chắn là một giải pháp tuyệt vời.
Hơn nữa, với phương pháp này, việc nhân bản code rat hạn chế Vì nó tách biệt
đữ liệu và logic nghiệp vụ khỏi màn hình.
Các sửa déi không ảnh hưởng đến toàn bộ mô hình
Đối với bất kỳ ứng dụng web nào, người dùng có xu hướng thay đổi thườngxuyên Bạn có thé quan sát thông qua những thay đổi thường xuyên về màu sắc, fontchữ, bố cục màn hình Hay là thêm hỗ trợ thiết bị mới cho điện thoại hay máy tính
bảng
Việc thêm một kiểu view mới trong MVC rat đơn giản Vì phan Model khôngphụ thuộc vào phan View Do đó, bat kỳ thay đổi nào trong Model sẽ không ảnh hưởngđến toàn bộ kiến trúc
MVC Model trả về dữ liệu mà không cần định dang
MVC pattern có thé trả về dit liệu mà không cần áp dung bat kỳ định dang nào
Do đó, các thành phan giống nhau có thé được sử dụng với bat kỳ giao diện nào
Ví dụ: tất cả loại dữ liệu đều có thể được định dạng bằng HTML Ngoài ra, nócũng có thể được định dạng bằng Macromedia Flash hay Dream Viewer
Hỗ trợ kỹ thuật Asynchronous
Kiến tric MVC có thê được tích hợp với cả JavaScript Framework Có nghĩa là,các ứng dụng MVC có thé hoạt động ngay cả với các file PDF, trình duyệt riêng cho
web hay các widget trên desktop.
Ngoài ra, MVC cũng hỗ trợ kỹ thuật Asynchronous, giúp các developer phát triểncác ứng dụng có thể load rất nhanh
Nền tảng MVC thân thiện với SEO
Nền tang MVC hỗ trợ phát triển các trang web thân thiện với SEO Bằng nềntang này, bạn có thé dé dang phát triển các URL thân thiện với SEO để tao ra nhiều lượt
truy cập hơn.
17