Báo cáo thực tập mô hình MVC trong Asp.net ppt

36 1.7K 1
Báo cáo thực tập mô hình MVC trong Asp.net ppt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Báo cáo thực tậphình MVC trong Asp.net 1 Lời Cảm Ơn! Như vậy là bốn năm học tại trường đã gần kết thúc.Đến lúc này em nghĩ mình thật may mắn khi được học tại trường Đại Học Khoa Học Huế,đây là một môi trường tốt để học tập và rèn luyện,cở sở vật chất đầy đủ,đặc biệt thầy cô trong trường,khoa đều rất nhiệt tình. Đặc biệt em xin chần thành cảm ơn các thầy cô trong Khoa Công Nghệ Thông Tin,trong suốt những năm học tại trường thầy cô đã tận tình chăm lo,dẫn dắt chúng em trong học tập cũng như trong cuộc sống. Báo cáo thực tập là kết quả của quá trình học tập bốn năm tại trường,là kết quả của một tháng làm việc hăng say,em xin cảm ơn sự giúp đỡ nhiệt tình của thầy Nguyễn Hoàng Hà đã giúp em hoàn thành báo cáo của mình. Một lần nữa em xin chân thành cảm ơn quý thầy cô,bạn bè đã chỉ bảo,giúp đỡ về học tập cũng như trong cuộc sống.Em luôn nhớ những điều đó như một kỷ niệm khó quên trong đời sinh viên của mình. Đặng Như Hiếu. Huế,tháng 2 năm 2012. 2 Mục Lục Danh Mục Các Từ Tiếng Anh………………………………………………………….2 Danh Mục Các Bảng………………………………………………………………… 2 Danh Mục Các Hình……………………………………………………………………2 Mở Đầu…………………………………………………………………………………2 Phần I.Tổng Quan Về Hình MVC Trong .Net 1.1.Lịch sử phát triển………………………………………………………………2 1.2.Đặc điểm của Asp.net MVC…………………………………………………2 1.3.Kiến trúc của Asp.net MVC. …………………………………………………2 1.4.So sánh Asp.net Webform với Asp.net MVC. ………………………………2 Phần II. Các Thành Phần Cơ Bản Trong Asp.net MVC 2.1.Các khái niệm ban đầu…………………………………………………………2 2.2.Url và Routing……………………………………………………………… 2 2.3.Controller và Action Method………………………………………………… 2 2.4.Views………………………………………………………………………….2 2.5.Models…………………………………………………………………………2 Phần III.Xây dựng ứng dụng SportStore 3 Danh Mục Các Từ Tiếng Anh 4 Danh Mục Các Bảng 5 Danh Mục Hình Ảnh 6 Mở Đầu  Lý do chọn đề tài: Hiện nay việc thiết kế trang web Asp.net là rất dễ dàng đối với lập trình viên,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à phát triển.Microsdoft muốn tạo ra công cụ để người sữ dụng dễ dàng làm việc và xây dựng 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 WinForm vậy, bằng cách kéo thả các button, textboxt , tự sinh mã Html, đơn giản, dễ hiểu Chính vì thế Asp.net WebForm dù đã ra đời cách đây hơn mười năm nhưng vẫn được sữ dụng cho đến nay. Chính vì vậy Asp.net WebForm đôi khi lại chính là nhược điểm của chính nó, việc dùng các web control sinh các event để thực hiện hành động cho UI khi có sự tương tác với người dùng hầu hết thực hiện chậm và gây ra các hạn chế và không thoãi mái, việc sữ dụng ViewState để quản lý, các trang web đều có lifecycle,postback Asp.net MVC chính là một sự lựa chọn thay thế cho Asp.net WebForm được xây dựng với 3 phần chính:Models(liên quan đến dữ liệu), Views(giao diện), Controllers(điều khiển), việc chia trang web ra nhiều thành phần giúp cho việc xây dựng trang web một cách rõ ràng,chặt chẽ. Với cấu trúc 3 lớp việc nâng cấp, sữa đổi hoặc thay thế một chức năng sẽ dễ dàng hơn. Với những ưu điểm trên Asp.net MVC chắc chắn sẽ là nền tảng để xây dựng và phát triển web lý tưởng. Tuy nhiên vì đây là công nghệ mới, nên tại Việt Nam hầu như chưa được áp dụng và nếu có thì cũng không nhiều, và hầu hết các bạn sinh viên đều chưa biết đến nó. Chính vì thế mà em đã mạnh dạn chọn đề tài nghiên cứu về MVC để làm báo cáo thực tập của mình.  Mục đích nghiên cứu: Nghiên cứu MVC với những mục đích: − Học hỏi kiến thức mới. − Quá trình tìm hiểu giúp em nâng cao khả năng tự học của mình. − Phục vụ việc xây dựng một ứng dụng MVC trong thực tế.  Đối tượng và phạm vi nghiên cứu: − Asp.net MVC 2.0 − Xây dựng ứng dụng bán hàng trực tuyến.  Phương pháp nghiên cứu: − Nghiên cứu lý thuyết thông qua ebook − Thông qua các ví dụ, video trên mạng. − Tổng hợp kiến thức để xây dựng ứng dụng thực tế.  Ý nghĩa khoa học và thực tiễn: − Hiện nay Asp.net MVC là công nghệ mới tại Việt Nam và các bạn sinh viên vẫn chưa biết đến nhiều, chính vì thế hoàn thành báo các thực tập này sẽ là một tài liệu nhỏ giúp các bạn sinh viên ban đầu muốn tìm hiều về công nghệ mới này. 7 − Asp.net MVC có nhiều ưu điểm vượt trội, nó sẽ là tương lai thay thế cho Asp.net WebForm, cho nên việc tìm hiểu về nó sẽ có tình tích cực và thực tiển cao, có thể áp dụng cho bây giờ hoặc tương lai. Phần I Tổng Quan Về Hình MVC Trong .Net 1.1.Lịch Sử Phát Triển: 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 Orented Programming) cho phép lập trình viên làm việc với giao diện đồ họa có thuộc tính và phương thức của nó. Không dừng lại ở đó các nhà nghiên cứu của Xerox PARC đã cho ra đời kiến trúc gọi là MVC viết tắt của Model-View-Controller. MVC được phát minh tại Xerox PARC bởi TrygveReenskaug. MVC lần đầu tiên xuất hiện công khai là trong Smalltalk-80, sau đó sau một thời gian dài không có thông tin gì về MVC, ngay cả trong tài liệu Smalltalk-80. Các tài liệu đầu tiên quan trọng đều công bố là “A cool book for using the Model-View-Controller User Interface Paradigm in Smalltalk-80”, bởi Glenn Krasner và Stephen Pope, xuất bản tháng 8 năm 1988. Thời kì Công nghệ Sức mạnh Điểm yếu Jurassic Common Gateway Interface (CGI) Đơn giản, linh họat Lựa chọn duy nhất vào thời điểm này 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ĐH cho mỗi lời yêu cầu). Cấp thấp Bronze age Microsoft Internet Database Connector (IDC) Chạy trong web server Chỉ là đóng gói cho những câu truy vấn SQL và template cho các kết quả có định dạng 1996 Active Server Pages (ASP) Mục đích chung Thông dịch thời gian thực Xu hướng “spaghetti code” 2002/03 ASP.NET 1.0/1.1 Đã được biên dịch Giao diện có trạng thái Cấu trúc lớn Xu hướng lập trình hướng đối tượng Nặng nề trên băng thông HTML khó nhìn Không thể test 2005 ASP.NET 2.0 8 2007 ASP.NET Ajax 2008 ASP.NET 3.5 2009 Asp.net MVC 1.0 2010 Asp.net MVC 2.0 ASP.NET 4.0 2011 Asp.net MVC 3.0 1.2.Đặc Điểm Của Asp.net MVC: − Tách rõ ràng các mối liên quan, mở khả năng test TDD(test driven developer). Có thể test unit trong ứng dụng mà không cần chạy Controller cùng với tiến trình Asp.net và có thể dùng bất kì một unit test framework nào như NUnit,MBUnit,MS Test − Có khả năng mở rộng, mọi thứ trong MVC được thiết kế cho phép dễ dàng thay đổi và tùy biến.(ví dụ:có thể lựa chọn sử dụng engine view riêng, routing policy,parameter serialization…). − Url mạnh mẽ, trong sáng, đuôi các url không có phần mở rộng .aspx.Ví dụ:có thể ánh xạ địa chỉ /Product/Edit/4 để thực hiện hành động “Edit” của lớp điều khiển ProductController. − Asp.net MVC cũng hổ trợ các file dạng Asp.net như .aspx, .ascx, .Master và đánh dấu các tập tin này như một “view template” (có thể dễ dàng dùng các tính năng của Asp.net như lồng Master Page, <%=<% snippets, tả server controls, template, data-binding, localization,…). − Tuy nhiên sẽ không còn postback và interactive back server và thay vào đó là interactive end-user tới một Controller class,sẽ không có viewstate, page lifecycle. − Asp.net MVC 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, session/profile state, configuration system, provider architecture …. 1.3.Kiến Trúc Của Asp.net MVC: 9 Trong hình MVC một đối tượng đồ họa người dùng(GUI Component) gồm 3 phần cơ bản:Models,Views,Controllers. − Models: trong các ứng dụng dựa trên 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. Lấy ví dụ, chúng ta có lớp Product được sử dụng để tả dữ liệu từ bảng Products trong SQL, bao gồm ProductID, OrderDate − Views:là thành phần chịu trách nhiệm hiển thị lên các thông tin cho người dùng thông qua giao diện. Thông thường, các thông tin hiển thị được lấy từ thành phần Models. Ví dụ, đối tượng Product có một "Edit" view bao gồm các textboxes, các dropdowns và checkboxes để chỉnh sửa các thuộc tính của sản phẩm; có một "Display" view gồm 2 dòng, cột dòng là ProductID, dòng sau là OrderDate để xem thông tin về sản phẩm. − Controller: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 Views thích hợp để hiển thị, trong kiến trúc MVC View chỉ có trách nhiệm hiển thị giao diện mà thôi, còn điều khiển dòng nhập xuất vẫn là do Controller. Một lợi điểm của MVC là nó bắt buộc phải tạo ra sự rành mạch trong liên kết giữa 3 thành phần models,views,controllers trong ứng dụng. Duy trì được mối quan hệ rành mạch khiến việc kiểm tra ứng dụng dễ dàng hơn, đồng thời trách nhiệm của các thành phần được định nghĩa rõ ràng và đều ăn khớp với nhau. 1.4. So S ánh Asp.net Webform V ới Asp.net MVC : − Asp.net Webfrom sử dụng Viewstate để quản lý các trang web đều có lifecycle,postback, dùng các web controls, các evens để thực hiện các hành động cho UI khi có sự tương tác với người dùng nên hầu hết Asp.net xử lý chậm. − Asp.net MVC Framework chia làm 3 phần: Models, Views, Controllers. Mọi tương tác với Views sẽ thực hiện hành động trong Controller, không còn postback,lifecycle và các events. − Việc kiểm tra test lỗi,debug với Asp.net đều phải chạy tất cả các tiến trình của Asp.net và mọi sự thay đổi ID của control nào cũng ảnh hưởng đến ứng dụng.Đối với Asp.net MVC Framework thì việc có thể sử dụng unit test để thẩm định các Controlers thực hiện như thế nào. Tính năng Asp.net Webform Asp.net MVC Kiến trúc Webform-Business- Database Models-Views-Controllers Cú pháp chương trình Tất cả các sự kiện và control do server quản lý Các sự kiện do Controlers quản lý Truy cập dữ liệu Sữ dụng hầu hết các công nghệ truy cập dữ liệu trong ứng dụng Sử dụng LinQ to Sql class để tạo hình truy cập đối tượng Debug Debug chương trình phải thực hiện tất cả bao gồm các lớp truy cập dữ liệu,hiển thị,điều khiển các control Sử dụng unit test để kiểm tra các phương thức trong Controller Tốc độ phân giải Chậm vì trong trang có nhiều control và Viewstate lớn Nhanh và không cần phải quản lý các Viewstate Tương tác với Javascript Khó khăn do các control được quản lý bởi server Dễ dàng hơn do các đối tượng không do server quản lý Url address Cấu trúc url có dạng: Cấu trúc địa chỉ rành mạch 10 [...]... cho Views t DataModel và Views sẽ render cái DataModel đó ra hiển thị cho người dùng 11 Asp.net MVC không phải là t sự thay thế cho Asp.net WebForm mà chỉ là t sự chọn lựa mới cho những người phát triển web, Asp.net MVC cũng có những khái niệm nhưng Asp.net WebForm như Configuration,Security,Roles… Cấu trúc chính 1 ứng dụng trong dự án Asp.net MVC: 12 − Content:thư... Các Thành Phần Cơ Bản Trong Asp.net MVC 2.1.Các Khái Niệm Ban Đầu: Trong t ứng dụng xây dựng trên hình MVC đều được chia làm 3 phần Models, Views, Controllers Bất cứ t request nào đến sever sẽ được xử lý ở Controller,Controller sẽ tiếp nhận request đó và xữ lý, bên trong Controller sẽ có nhiều Actions, i Action tương ứng xữ lý t request Ví dụ chúng... RouteData Trong request /Catalog/yellow RouteData.Values[“color”] cho giá trị yellow Nhận Giá trị Parameter từ Action Methods: t action methods có thể lấy ra các parameter Khi Asp.Net MVC muốn gọi t action methods của bạn nó cần cung cấp giá trị cho i parameter trong methods t trong những nới mà nó lấy giá trị là từ RouteData, nó sẽ tìm giá trị trong từ... và không tại tạo lại i khi có t request tới Trong hàm Application_Start() lại gọi phương thức tĩnh RegisterRoute() Quá Trình Xữ Lý Của Routing Khi Có t Request: Khi có t request đến, hệ thống sẽ gọi i IHttpModules để đăng kí với ứng dụng, với Net 3.5 ứng dụng sẽ tham chiếu từ Web.config Với Net 4.0 ứng dụng sẽ tham chiếu từ ASP.NET Web.config mở... RouteBase để cung cấp t cấu trúc RouteData, và đặc tả cách xữ lý request như thế nào RouteData là t dữ liệu đơn giản, cấu trúc gồm 4 thuộc tính: + Route : Tham chiếu đến tuyến đường được chọn, nó thuộc RouteBase + RouteHandler: là đối tượng hiện thực của IrouteHandler, cái mà sẽ xữ lý request .Trong Asp.Net MVC nó thường là t thể hiện của MvcRouteHandler... cung cấp t IDictionary như là t tham số khởi tạo hoặc cách khác là dùng collection initializer Ví dụ: 15 Tạo t Tuyến Với MapRoute(): Asp.Net MVC đã mở rộng phương thức cho RouteCollection gọi là MapRoute Nó cung câp t cách khác để thêm t tuyến, thay vì gọi route.Add(new Route(…)) Ví dụ: Trong ví dụ trên PublicProductsList là tên của tuyến,đó... constraints − RouteCollection:là t định tuyến cấu hình đầy đủ, bao gồm danh sách RouteBase RouteTable.Route là t thể hiện tĩnh của RouteCollection, thông thường nó chỉ được gọi t lần khi ứng dụng chạy lần đầu tiên, trong phương thức Application_Start() trong file Globla.asax.cs Nó là t đối tượng tĩnh, vì vậy nó tồn tại trong suốt quá trình sống của... dung html bằng cách hiển thị t view • Đó có thể là chuyển hướng đến trang khác bằng cách mở t action method khác • Đó có thể là t dòng dữ liệu như là JSON, XML hoặc có thể là t file nhị phân Khái Niệm ActionResult: ActionResult trả lại kiểu của action method, trả về hình của view, t file, chuyển hướng đến t controller khác, làm cho controller... new EmptyResult(); Trả Về Định Dạng HTML Bằng Cách Hiện Thị t View: Hầu hết action method có nhiệm vụ trả dạng html cho trình duyệt, tức là tạo ra t khung nhìn, tức là t ViewResult: Gọi View() để tạo ra t đối tượng ViewResult(), khi thực thi kết quả MVC FrameWork sẽ tìm trong ứng dụng t view chúng ta chỉ định để hiển thị.Nếu chúng ta có sử... lệnh này phải đặt trong or Inline code là công cụ cơ sở các kỹ thuật khác đều xây dựng dựa vào nó HTML helpers Sử dụng để tạo ra thể html, dữ liệu sẽ được lấy từ ViewData hoặc bất kì t Model nào bằng cách trả về t MvcHtmlString Server control Dùng như trong Asp.Net Web Form Partial views Sử dụng chúng khi muốn chia sẽ t view cho nhiều . test 2005 ASP. NET 2.0 8 2007 ASP. NET Ajax 2008 ASP. NET 3.5 2009 Asp. net MVC 1.0 2010 Asp. net MVC 2.0 ASP. NET 4.0 2011 Asp. net MVC 3.0 1.2.Đặc Điểm Của Asp. net MVC: − Tách rõ ràng các mô i liên. I.Tổng Quan Về Mô Hình MVC Trong .Net 1.1.Lịch sử phát triển………………………………………………………………2 1.2.Đặc điểm của Asp. net MVC ………………………………………………2 1.3.Kiến trúc của Asp. net MVC. …………………………………………………2 1.4.So. Báo cáo thực tập mô hình MVC trong Asp. net 1 Lời Cảm Ơn! Như vậy là bốn năm học tại trường đã gần kết thúc.Đến

Ngày đăng: 22/06/2014, 06:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan