Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Nghiên cứu mô hình mvc và ứng dụng xây dựng website bán hàng cho công ty cổ phần...

Tài liệu Nghiên cứu mô hình mvc và ứng dụng xây dựng website bán hàng cho công ty cổ phần htl.

.PDF
83
135
105

Mô tả:

ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ  KHÓA LUẬN TỐT NGHIỆP NGHIÊN CỨU MÔ HÌNH MVC VÀ ỨNG DỤNG XÂY DỰNG WEBSITE BÁN HÀNG CHO CÔNG TY CỔ PHẦN HTL CỔ KIM NGUYÊN PHƯƠNG Khóa học: 2009 – 2013 ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ  KHÓA LUẬN TỐT NGHIỆP NGHIÊN CỨU MÔ HÌNH MVC VÀ ỨNG DỤNG XÂY DỰNG WEBSITE BÁN HÀNG CHO CÔNG TY CỔ PHẦN HTL Sinh viên thực hiện: Giáo viên hướng dẫn: Cổ Kim Nguyên Phương Th.S Trần Thái Hòa Lớp: K43 - Tin Học Kinh Tế Niên khóa: 2009 - 2013 Huế, 05/2013 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa LỜI CẢM ƠN Được sự phân công của các thầy cô khoa Hệ Thống Thông Tin Kinh tế và trường Đại học Kinh Tế Huế, sau gần 4 tháng thực tập nghề nghiệp, em đã hoàn thành bài Khóa Luận với đề tài “Nghiên cứu mô hình MVC và ứng dụng xây dựng Website bán hàng cho Công ty cổ phần HTL”. Để thực hiện nhiệm vụ của bài Khóa Luận, ngoài sự nỗ lực của bản thân còn có sự giúp đỡ và hướng dẫn tận tình của các thầy cô trong Khoa cùng các nhân viên của đơn vị thực tập. Em xin chân thành cảm ơn các thầy cô trong Khoa đã giúp đỡ, hướng dẫn và luôn động viên, khích lệ em trong suốt quá trình thực tập. Đồng thời cho phép em gửi lời cám ơn đến các nhân viên tại đơn vị thực tập của Công ty cổ phần HTL, đã trao đổi và truyền đạt cho em nhiều kinh nghiệm quý báu trong quá trình thực tập cũng như trong công việc sau này. Tuy nhiên, do kiến thức chuyên môn còn hạn chế cũng như việc thiếu kinh nghiệm thực tiễn nên nội dung đề tài không tránh khỏi những thiếu sót. Vì vậy, em kính mong nhận được sự góp ý, chỉ của quý thầy cô trong Khoa cùng giáo viên hướng dẫn là Thạc sĩ Trần Thái Hòa để đề tài được hoàn thiện hơn. Cuối cùng em xin cảm ơn đến tất cả các thầy cô giáo trong Khoa Hệ Thống Thông Tin Kinh tế, đến gia đình người thân và tất cả bạn bè đã đóng góp ý kiến và giúp đỡ cho đề tài của em được hoàn thành. Em xin chân thành cảm ơn ! Huế, tháng 05 năm 2013 Sinh viên thực hiện Cổ Kim Nguyên Phương SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 1 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa MỤC LỤC DANH MỤC THUẬT NGỮ ...........................................................................................5 DANH MỤC CÁC BẢNG ..............................................................................................6 DANH MỤC CÁC HÌNH ...............................................................................................6 PHẦN A – MỞ ĐẦU .....................................................................................................9 1. Lý do chọn đề tài .........................................................................................................9 2. Mục tiêu nghiên cứu ..................................................................................................10 3. Đối tượng và phạm vi nghiên cứu .............................................................................10 4. Phương pháp nghiên cứu ...........................................................................................11 5. Kết cấu của đề tài.......................................................................................................11 PHẦN B – NỘI DUNG................................................................................................12 CHƯƠNG 1: TỔNG QUAN VỀ MÔ HÌNH MVC ......................................................12 1.1. Xuất xứ của mô hình MVC ....................................................................................12 1.2. Khái niệm mô hình MVC .......................................................................................12 1.3. Kiến trúc của mô hình MVC ..................................................................................13 1.4. Đặc điểm của mô hình MVC..................................................................................15 1.5. Mô hình MVC trong ASP.NET..............................................................................15 1.5.1. Lịch sử phát triển của ASP.NET .........................................................................16 1.5.2. Nhược điểm của ASP.NET .................................................................................18 1.5.3. Sự ra đời của ASP.NET MVC.............................................................................19 1.5.4. Đặc tính trong ASP.NET MVC...........................................................................20 1.5.5. Lợi ích của mô hình ASP.NET MVC .................................................................21 1.5.6. So sánh ASP.NET MVC với ASP.NET ..............................................................22 SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 2 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa CHƯƠNG 2: PHÂN TÍCH TÌNH HÌNH CÔNG TY ...................................................24 2.1. Tổng quan về công ty cổ phần HTL.......................................................................24 2.1.1. Lịch sử hình thành ...............................................................................................24 2.1.2. Quan điểm kinh doanh.........................................................................................25 2.1.3. Lĩnh vực hoạt động..............................................................................................26 2.1.4. Năng lực công ty..................................................................................................27 2.2. Cơ cấu tổ chức công ty cổ phần HTL.....................................................................27 2.3. Mô tả chương trình ứng dụng.................................................................................28 2.3.1. Khảo sát hiện trạng ..............................................................................................28 2.3.2. Xác lập dự án .......................................................................................................29 2.3.3. Quy trình hoạt động của Website ........................................................................29 2.3.4. Quy trình nghiệp vụ.............................................................................................29 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG .....................................30 3.1. Cài đặt mô hình MVC ............................................................................................30 3.1.1. Cài đặt chương trình ............................................................................................30 3.1.2. Tạo một Project với ASP.NET MVC..................................................................31 3.1.3. Tạo mới cơ sở dữ liệu..........................................................................................35 3.2. Xây dựng ứng dụng với ASP.NET MVC...............................................................36 3.2.1. Phân tích thiết kế hệ thống ..................................................................................36 3.2.1.1. Xác định yêu cầu hệ thống ...............................................................................36 3.2.1.2. Phân tích hệ thống ............................................................................................37 3.2.2. Phân tích thiết kế cơ sở dữ liệu ...........................................................................42 3.2.2.1. Liệt kê tất cả các danh từ liên quan đến bài toán..............................................42 3.2.2.2. Loại bỏ những danh từ đồng nghĩa...................................................................42 SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 3 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa 3.2.2.3. Xác định các thực thể và những thuộc tính tương ứng.....................................43 3.2.2.4 Mối quan hệ giữa các thực thể...........................................................................44 3.2.2.5. Xác định khoá chính cho từng thực thể............................................................45 3.2.2.6. Sơ đồ thực thể mối quan hệ ..............................................................................45 3.2.2.7. Mô hình cơ sở dữ liệu.......................................................................................46 3.2.3. Xây dựng Controllers ..........................................................................................46 3.2.4. Xây dựng Models ................................................................................................52 3.2.5. Xây dựng Views ..................................................................................................54 3.3. Tìm hiểu định tuyến URL.......................................................................................58 3.3.1. Đường đi mặc định của ASP.NET MVC URL ...................................................58 3.3.2. Hệ thống định tuyến trong ASP.NET MVC........................................................60 3.3.3. Các quy tắc định tuyến ........................................................................................60 3.4. Truy cập dữ liệu với LINQ.....................................................................................67 3.5. Bảo mật với ASP.NET MVC APPLICATION ......................................................68 3.6. Hình ảnh chức năng chính của Website .................................................................72 PHẦN C – KẾT LUẬN ...............................................................................................78 1. Kết quả đạt được........................................................................................................78 2. Hạn chế của đề tài......................................................................................................79 3. Hướng phát triển........................................................................................................80 TÀI LIỆU THAM KHẢO .............................................................................................81 SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 4 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa DANH MỤC THUẬT NGỮ Class: Lớp. Graphical User Interface (GUI): Giao diện đồ họa người dùng. GUI Component: Thành phần đồ họa người dùng. Framework: Nền tảng. Request: Yêu cầu. Server: Máy chủ. Client: Máy trạm. Control: Đối tượng điều khiển. Test Driven Development (TDD): Phát triển điều hướng. Unit Test: Kiểm thử đơn vị. Postback: Phản hồi. Test: Kiểm thử. Code: Mã lệnh. Language Integrate Query (LINQ): Ngôn ngữ truy vấn tích hợp. Solution: Các giải pháp cho dự án. Project: Dự án. Browser : Trình duyệt. Businness Logic: Lớp xử lý. Application Programming Interface (API): Giao diện lập trình ứng dụng. Render: Trả lại. Override: Nạp chồng. Redirect: Chuyển hướng. SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 5 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa DANH MỤC CÁC BẢNG Số bảng Tên bảng Trang 1.1 Quá trình phát triển của ASP.NET 17 1.2 So sánh giữa ASP.NET Webform và ASP.NET MVC 23 3.1 Các loại Action Result 50 3.2 Action Method theo URL 63 DANH MỤC CÁC HÌNH Số hình Tên hình Trang 1.1 Các thành phần chính của mô hình MVC 13 1.2 Mô hình tuần tự của MVC 14 1.3 Mô hình MVC 16 1.4 Mô hình ASP.NET Webform 18 1.5 Nền tảng ASP.NET MVC Framwork 20 2.1 Logo Công ty cổ phần HTL 24 2.2 Cơ cấu tổ chức công ty 27 2.3 Quy trình nghiệp vụ 29 3.1 Cài đặt ASP.NET MVC 3 30 3.2 Giao diện tạo Project mới 31 SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 6 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa 3.3 Khởi tạo dự án 32 3.4 Giao diện Solution của MVC 32 3.5 Giao diện mẫu mô hình MVC 33 3.6 Tạo mới cơ sở dữ liệu 34 3.7 Biểu đồ phân rã chức năng 36 3.8 Mức ngữ cảnh 36 3.9 Mức 0 – Sơ đồ luồng dữ liệu 37 3.10 Mức 1 - Chức năng quản lý người dùng 38 3.11 Mức 1 - Chức năng quản lý bán hàng 38 3.12 Mức 1 - Chức năng quản lý sản phẩm 39 3.13 Mức 1 - Chức năng quản lý tin tức 40 3.14 Mức 1 - Chức năng thống kê 40 3.15 Mối quan hệ giữa các thực thể 43 3.16 Sơ đồ thực thể mối quan hệ 44 3.17 Mô hình cơ sở dữ liệu 45 3.18 Liên kết cơ sở dữ liệu 51 3.19 Mô hình hoạt động của MVC 52 3.20 Các MasterPage của Views 53 3.21 Giao diện trang LayoutSite.Master 54 SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 7 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa 3.22 Giao diện trang Layoutadmin.Master 54 3.23 Trang quản lý Website 67 3.24 Trang đăng kí thành viên 69 3.25 Trang đăng nhập Website 71 3.26 Trang chủ Website 71 3.27 Trang giới thiệu 72 3.28 Trang tin tức 72 3.29 Trang hướng dẫn 73 3.30 Trang giỏ hàng 73 3.31 Trang đăng ký 74 3.32 Trang đăng nhập 74 3.33 Trang quản lý 75 3.34 Trang thêm sản phẩm 75 3.35 Trang sửa sản phẩm 76 3.36 Trang quản lý đơn hàng 76 SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 8 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa PHẦN A – MỞ ĐẦU 1. Lý do chọn đề tài Ngày nay, việc giới thiệu sản phẩm ngày càng giữ một vai trò quan trọng trong hoạt động kinh doanh của Công ty, đặc biệt là các Công ty vừa và nhỏ. Và khi công nghệ thông tin ra đời, thì hoạt động giới thiệu nói chung và quản lý sản phẩm nói riêng đã chuyển sang một phương pháp giới thiệu mới. Thay vì giới thiệu bằng một số cách phổ thông như trước đây, các Công ty đã đầu tư mạnh mẽ vào việc xây dựng trang Web để giới thiệu sản phẩm. Hiện nay việc thiết kế một trang Web ASP.NET rất dễ dàng, chúng ta có thể tìm tài liệu trên mạng, tham khảo các Project để nghiên cứu và xây dựng. Bởi vì do Microsoft muốn tạo ra một công cụ để người sử dụng có thể dễ dàng làm việc và xây dựng một trang Web nhanh chóng nhất, ASP.NET Webform được thiết kế để thực hiện những điều đó. ASP.NET Webform được thiết kế để người dùng cảm thấy như mình đang thiết kế một chương trình Windows Form vậy, bằng cách kéo thả các Button, tự sinh Code HTML đơn giản, dễ hiểu… Chính vì thế nền tảng ASP.NET Webform dù đã ra đời cách đây hơn 10 năm nhưng hiện nay vẫn đang sử dụng rộng rãi . Tuy nhiên ưu điểm của ASP.NET WebForm đôi khi lại chính là nhược điểm của nó, chính là không có sự phân chia rõ ràng giữa giao diện và Code xử lý, nên ngay trong giao diện lại có câu lệnh truy vấn SQL. Đến khi chúng ta cần thay thế hoặc nâng cấp một chức năng nào đó thì rất rắc rối. Để khắc phục những nhược điểm của ASP.NET Webform, năm 2007 Microsoft đã cho ra đời nền tảng ASP.NET MVC. ASP.NET MVC là một lựa chọn thay thế cho ASP.NET Webform, được xây dựng với 3 lớp chính: lớp dữ liệu (Models), lớp giao diện (Views) và lớp điều khiển (Controllers). Việc chia một trang Web thành nhiều lớp như thế này giúp cho những lập trình viên có kinh nghiệm có thể xây dựng một Website với cấu trúc chặt chẽ, rõ ràng. Với cấu trúc 3 lớp như thế này, việc nâng cấp hoặc thay thế một chức năng nào đó trở nên hết sức dễ dàng, đồng thời việc kiểm thử cũng trở nên đơn giản hơn. SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 9 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa Với những ưu điểm trên, trong tương lai chắc chắn ASP.NET MVC sẽ là một nền tảng chính trong việc xây dựng và phát triển một Website ASP.NET. Tuy nhiên vì đây là một công nghệ mới , nên tại Việt Nam hầu như chưa được áp dụng nhiều, cũng có rất ít bạn sinh viên biết tới mô hình này. Chính vì thế, em đã mạnh dạn chọn đề tài “Nghiên cứu mô hình MVC và ứng dụng xây dựng website bán hàng cho Công ty cổ phần HTL” để làm khóa luận tốt nghiệp cho mình. 2. Mục tiêu nghiên cứu Nghiên cứu mô hình MVC để ứng dụng vào việc xây dựng Website bán hàng cho Công ty cổ phần HTL dựa trên ngôn ngữ ASP.NET MVC: + Nghiên cứu mô hình MVC của Microsoft. + Nghiên cứu ASP.NET MVC 3. + Các ứng dụng của mô hình MVC. + Thực trạng bán hàng của Công ty cổ phần HTL. + Xây dựng Website bán hàng cho Công ty cổ phần HTL. 3. Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu + Nghiên cứu ASP.NET MVC 3. + Các ngôn ngữ lập trình Web như: ASP, HTML,CSS... + Kiến thức về mô hình MVC. + Ứng dụng của mô hình MVC. + Quy mô hoạt động của Công ty cổ phần HTL. + Quy trình hoạt động bán hàng của Công ty cổ phần HTL. Phạm vi nghiên cứu + Không gian: Công ty cổ phần HTL (25 Hai Bà Trưng – TP.Huế). + Thời gian: Trong khoảng 4 tháng (21/01/2013 - 12/05/2013). SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 10 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa 4. Phương pháp nghiên cứu + Phương pháp quan sát, tổng hợp. + Phương pháp nghiên cứu tài liệu. + Phương pháp phân tích, thiết kế. 5. Kết cấu của đề tài Ngoài phần Mở Đầu và phần Kết Luận ra, đề tài này còn được chia thành 3 chương, trong đó: Chương 1: Tổng quan về mô hình MVC Xuất sứ của mô hình MVC Khái niệm mô hình MVC Kiến trúc của mô hình MVC Đặc điểm của mô hình MVC Mô hình MVC trong ASP.NET Chương 2: Phân tích tình hình công ty Tổng quan về tình hình công ty cổ phần HTL Cơ cấu tổ chức công ty cổ phần HTL Mô tả chương trình ứng dụng Chương 3: Xây dựng chương trình ứng dụng Cài đặt mô hình MVC Xây dựng ứng dụng với ASP.NET MVC Tìm hiểu định tuyến URL Truy cập dữ liệu với LINQ Bảo mật với ASP.NET MVC Hình ảnh chức năng của Website SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 11 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa PHẦN B – NỘI DUNG CHƯƠNG 1: TỔNG QUAN VỀ MÔ HÌNH MVC 1.1. Xuất xứ của mô hình MVC 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 Models – Views – Controllers). MVC được phát minh tại Xerox Parc vào những năm 70, bởi Trygve Reenskaug. 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 Models -Views - Controllers User Interface Paradigm in Smalltalk-80”, bởi Glenn Krasner và Stephen Pope, xuất bản trong tháng 8 đến tháng 9 năm 1988. 1.2. Khái niệm mô hình MVC Kiến trúc MVC là việc chia tất cả mục của một ứng dụng ra làm ba thành phần (Component) khác nhau: Models, Views và Controllers. Models: Models được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu vào các kho chứa dữ liệu. Tất cả các nghiệp vụ Logic được thực thi ở Models. Dữ liệu vào từ người dùng sẽ thông qua Views được kiểm tra ở Models trước khi lưu vào cơ sở dữ liệu. Việc truy xuất, xác nhận và lưu dữ liệu là một phần của Models. Views: Views hiển thị các thông tin cho người dùng của ứng dụng và được giao nhiệm vụ cho việc nhận các dữ liệu vào từ người dùng, gửi đi các yêu cầu đến bộ điều khiển, sau đó là nhận lại các phản hồi từ bộ điều khiển và hiển thị kết quả cho người SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 12 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa dùng. Các trang HTML, JSP, các thư viện và các file nguồn là một phần của thành phần Views. Controllers: Controllers là tầng trung gian giữa Models và Views. Controllers được giao nhiệm vụ nhận các yêu cầu từ phía máy khách. Một yêu cầu được nhận từ máy khách được thực hiện bởi một chức năng Logic thích hợp từ thành phần Models và sau đó sinh ra các kết quả cho người dùng và được thành phần Views hiển thị. 1.3. Kiến trúc của mô hình MVC 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: Models, Views, và Controllers. 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. Views chính là thể hiện trực quan của Models, hay nói cách khác chính là giao diện của đối tượng đồ họa. Và Controllers đ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. 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 Controllers của đối tượng đồ họa. Controllers sẽ thực hiện việc thay đổi trên Models. Khi có bất kỳ sự thay đổi nào ở xảy ra ở Models, nó sẽ phát thông điệp (Broadcast Message) thông báo cho Views và SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 13 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa Controllers biết. Nhận được thông điệp từ Models, Views 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 Models. Còn Controllers, khi nhận được thông điệp từ Models, 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 1.2: Mô hình tuần tự của MVC 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 Models để quản lý trạng thái của nó là Check hay Uncheck, thành phần Views để thể hiện nó với trạng thái tương ứng lên màn hình, và thành phần Controllers để 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 Controllers của Checkbox sẽ xử lý sự kiện này, yêu cầu thành phần Models thay đổi dữ liệu trạng thái. Sau khi thay đổi trạng thái, thành phần Models phát thông điệp đến thành phần Views và Controllers. Thành phần Views 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 Models lưu giữ. SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 14 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa Thành phần Controllers nhận được thông điệp do Models 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. 1.4. Đặc điểm của mô hình MVC 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ẽ Models, Views, Controllers 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 một 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 Views của nó trong khi cách thức lưu trữ (Models) cũng như xử lý (Controllers) không hề t hay đổi. Tương tự, ta có thể thay đổi cách thức lưu trữ (Models) hoặc xử lý (Controllers) của đối tượng đồ họa mà những thành phần còn lại vẫn giữ nguyên. 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 Small Talk (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. 1.5. Mô hình MVC trong ASP.NET Như đã nói ở trên, 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ì? SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 15 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa 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 Models – Views - Controllers (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 phần này em sẽ trình bày lý do tạ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 1.3: Mô hình MVC 1.5.1. Lịch sử phát triển của ASP.NET Để hiểu được những đặc điểm nổi bật và mục tiêu thiết kế của ASP.NET MVC, trước tiên cần coi lại lịch sử phát triển của Website ASP. Trong số những nền tảng phát triển Web của Microsoft, chúng ta sẽ thấy sức mạnh và sự phức tạp tăng lên theo từng năm. Như trong bảng ta thấy mỗi nền tảng mới đều giải quyết những thiếu sót đặc trưng của nền tảng trước đó. Tương tự, ASP.NET MVC được thiết kế để giải SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 16 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa quyết những thiếu sót của ASP.NET Webform truyền thống, nhưng lại bằng cách nhấn mạnh sự đơn giản. Bảng 1.1: Quá trình phát triển của ASP.NET Thời kì Công nghệ Sức mạnh Thời kỳ đầu Common Gateway Đơn giản, linh hoạt. Interface (CGI). Lựa chọn duy nhất vào thời điểm này. Điểm yếu Chạy ngoài Web server, nên cần nhiều tài nguyên (Cần các tiến trình riêng lẻ trên hệ điều hàng cho mỗi lời yêu cầu). Thời kỳ tiếp Microsoft Internet Chạy trong Web Server. Chỉ là đóng gói cho theo Database những câu truy vấn Connector (IDC). SQL và Template cho các kết quả có định dạng. 1996 Active Server Mục đích chung. Pages 2002/03 ASP.NET 1.0/1.1. Thông dịch thời gian thực hiện. Đã được biên dịch. Nặng nề trên băng Giao diện có trạng thái. thông HTML khó nhìn. 2004 ASP.NET 2.0. Cấu trúc lớn. Xu hướng Không thể Test. lập trình hướng đối tượng. ASP.NET truyền thống đã là một bước nhảy vọt khi lần đầu tiên xuất hiện, nhằm thu hẹp khoảng cách giữa phát triển WindowForm 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). Hình sau minh họa công SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 17 Khóa Luận Tốt Nghiệp GVHD: Th.S Trần Thái Hòa nghệ ASP.NET Webform trong lần đầu xuất hiện năm 2002 . Hình 1.4: Mô hình ASP.NET Webform 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 người lập trình) bằng cách dùng mô hình giao diện như một đối tượng điều khiển (Control) có cấu trúc hoạt động phía Server. Mỗi đối tượng điều khiển (Control) lưu giữ trạng thái qua các yêu cầu (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. 1.5.2. Nhược điểm của ASP.NET ASP.NET truyền thống đã từng là một ý tưởng hay, nhưng thực tế lại trở nên rắc rối. Qua nhiều năm, sử dụng ASP.NET Webform cho thấy có một số nhược điểm: - ViewState (trạng thái hiển thị): Kĩ thuật lưu giữ trạng thái qua các yêu cầu (Request) 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ó đi qua đi lại với mỗi lần yêu cầu (Request), 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ọ Click một Button hoặc cố gắng di chuyển đến trang SVTH: Cổ Kim Nguyên Phương – K43THKT Trang 18
- Xem thêm -

Tài liệu liên quan