ASP NET MVC Nho m D 1 Nho

  • Slides: 57
Download presentation
ASP. NET MVC Nho m D 1 Nho m D

ASP. NET MVC Nho m D 1 Nho m D

Nô i dung tri nh ba y A B C Giơ i thiê u

Nô i dung tri nh ba y A B C Giơ i thiê u mô hi nh MVC Ca c ky thuâ t trong ASP. NET MVC Demo 2 Nho m D

Giơ i thiê u mô hi nh MVC v MVC là một mẫu design

Giơ i thiê u mô hi nh MVC v MVC là một mẫu design patern trong thiết kế phần mềm chia ứng dụng làm 3 thành phần chính: Model, View, Controller. Mỗi thành phần đảm nhiệm một vai trò chức năng khác nhau. v Microsoft đã ứng dụng mô hình MVC vào trong ASP. net để phát triển 1 ứng dụng web và cho ra đời ASP. net MVC. 3 Nho m D

v Đê mô hi nh ơ đây 4 Nho m D

v Đê mô hi nh ơ đây 4 Nho m D

Chức năng của 3 tầng trong MVC v Model: Đối tượng xử lý logic

Chức năng của 3 tầng trong MVC v Model: Đối tượng xử lý logic trong chương trình, 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à các lớp được ánh xạ từ một bảng trong CSDL. v Controller: chịu trách nhiệm xử lý các yêu cầu từ người dùng, các thao tác đối với tầng 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, view 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. v View: Là các thành phần chịu trách nhiệm hiển thị các thông tin lên cho người dùng. Trong SP. net MVC nó có thể là các ứng web form như trong aspnet web form hoặc các view razor cshtml. 5 Nho m D

Các thuận lợi phát triển asp. net MVC v Tách biệt rõ ràng các

Các thuận lợi phát triển asp. net MVC v Tách biệt rõ ràng các mối liên quan giữa các lớp. v Tăng khả năng test và TDD (test driven development) đặc biệt là viết các Unit test. v Tăng khả năng mở rộng. Mọi thứ trong MVC được thiết kế cho phép dễ dàng thay thế/tùy biến (ví dụ: có thể lựa chọn sử dụng engine view riêng, routing policy, parameter serialization, v. v…). v Thừa hưởng các ti nh năng bảo mật của asp. net web forms/windows authenticate, URL authorization, membership/roles, output và data caching, session/profile state, configuration system, provider architecture v Các URL trong ứng dụng asp. net MVC rõ ràng và dễ tìm kiếm đối với các search engine. 6 Nho m D

So sánh ASP. net MVC và asp. net web form 7 Nho m D

So sánh ASP. net MVC và asp. net web form 7 Nho m D

Tạo project trong asp. net MVC 8 Nho m D

Tạo project trong asp. net MVC 8 Nho m D

CÁC KỸ THUẬT TRONG ASP. NET MVC 1 2 Đi nh tuyê n URL

CÁC KỸ THUẬT TRONG ASP. NET MVC 1 2 Đi nh tuyê n URL Controller và action methods 3 View và View result 4 Model validation 5 Model template 6 Filters 7 Dependency injection 8 Một số tính năng khác 9 Nho m D

Đi nh tuyê n URL 10 Nho m D

Đi nh tuyê n URL 10 Nho m D

Controller và action methods v CONTROLLER 11 Nho m D

Controller và action methods v CONTROLLER 11 Nho m D

Controller v Là thành phần trung gian giữa Model và View v Thành phần:

Controller v Là thành phần trung gian giữa Model và View v Thành phần: Action. Severlet, Action. Form, struts-config. xml v VD: Trong ASP. NET MVC luôn có 2 Controller là Account. Controller. cs và Home. Controller. cs v Controller định nghĩa các phương thức, phương thức có thuộc tính public đều là action trong controller 12 Nho m D

Controller v Chịu trách nhiệm điều khiển các tương tác của người dùng bên

Controller v Chịu trách nhiệm điều khiển các tương tác của người dùng bên trong ứng dụng MVC 13 Nho m D

Controller v Tạo controller mới 14 Nho m D

Controller v Tạo controller mới 14 Nho m D

Action methods v Action methods 15 Nho m D

Action methods v Action methods 15 Nho m D

Action methods v Được định nghĩa trong controller v Các loại action result 16

Action methods v Được định nghĩa trong controller v Các loại action result 16 Nho m D

Action methods v Tham số của Action result § Tên § Giá trị chuỗi

Action methods v Tham số của Action result § Tên § Giá trị chuỗi truy vấn § Giá trị cookie v Để truy cập giá trị tham số URL trong action method của controller, controller chứa thuộc tính Request và Response có thể truy cập trong 1 action result 17 Nho m D

Request và Response v Đối tượng Request và Response thể hiện thông tin đi

Request và Response v Đối tượng Request và Response thể hiện thông tin đi vào web server từ trình duyệt và thông tin đi ra từ web server đến trình duyệt v Đối tượng Request: đối tượng input v Đối tượng Response: đối tượng output 18 Nho m D

Đối tượng Response v Được sử dụng để giao tiếp với client, quản lý

Đối tượng Response v Được sử dụng để giao tiếp với client, quản lý điều phối thông tin từ Webserver đến các trình duyệt người dùng v Gồm các thuộc tính và phương thức sau: 19 Nho m D

Đối tượng Response Thuộc tính Nhiệm vụ Buffer True: Hoàn tất công việc và

Đối tượng Response Thuộc tính Nhiệm vụ Buffer True: Hoàn tất công việc và gửi một lần. False: Thực hiện xong tới đâu thì gửi tới đó. Cookies Dùng để ghi cookies. Headers Lấy tập hợp các header của response. Path Lấy đường dẫn được request. Server Lấy tên server gửi response. 20 Nho m D

Đối tượng Response v Các phương thức Phương thức Nhiệm vụ Write In ra

Đối tượng Response v Các phương thức Phương thức Nhiệm vụ Write In ra một chuỗi trên trang Web. Redirect Gửi thông điệp yêu cầu Web Browser truy cập đến một địa chỉ khác. 21 Nho m D

Đối tượng Request v Dùng để nhận thông tin từ trình duyệt của người

Đối tượng Request v Dùng để nhận thông tin từ trình duyệt của người dùng gửi về cho Web. Server Thuộc tính Nhiệm vụ Request. Type Trả về phương thức truyền dữ liệu từ client đến server gồm 2 phương thức: POST và GET Query. String Lấy tập hợp các biến query string Form Lấy tập hợp các dữ liệu form Cookies Lấy tập hợp cookies gửi bởi client 22 Nho m D

Tự động ánh xạ tham số Action Method v ASP. NET MVC Framwork có

Tự động ánh xạ tham số Action Method v ASP. NET MVC Framwork có thể tự động ánh xạ giá trị tham số URL đến giá trị tham số cho action method. v VD: Trình duyệt có URL /Home/Index/3 § Controller = Home § Action = Index § Id = 3 23 Nho m D

HTML Post và Get v. Html. Post 24 Nho m D

HTML Post và Get v. Html. Post 24 Nho m D

Phương thức Html. Post v Sử dụng khi muốn gửi yêu cầu về server

Phương thức Html. Post v Sử dụng khi muốn gửi yêu cầu về server mà không muốn hiển thị dữ liệu lên trên url của trình duyệt v Sử dụng khi muốn gửi dữ liệu theo dạng silent như form đăng ký hoặc đăng nhập v Kí tự tối đa có thể nhập sau địa chỉ action đối với phương thức này là 32000 bytes 25 Nho m D

Phương thức Html. Get v Html. Post 26 Nho m D

Phương thức Html. Get v Html. Post 26 Nho m D

Phương thức Html. Get v Dùng để gửi yêu cầu về phía server v

Phương thức Html. Get v Dùng để gửi yêu cầu về phía server v Dữ liệu được hiển thị lên URL của trình duyệt v Là phương thức mặc định, khi click vào URL thì mặc định trình duyệt sẽ gửi yêu cầu theo phương thức GET v VD: http: //search. yahoo. com/bin/search? p=computers v Phần “ ? p = computers” bao gồm các từ gõ vào. v Kí tự tối đa: 2000 bytes 27 Nho m D

So sánh GET và POST v Thời gian thực thi: GET nhanh hơn POST,

So sánh GET và POST v Thời gian thực thi: GET nhanh hơn POST, vì dữ liệu gửi đi luôn được Web Browser cached lại v Post server luôn thực thi và trả về cho client v Get thì Web Brower xem trong cached có kết quả tương ứng với yêu cầu đưa ra hay không, sau đó trả về ngay mà không cần phải thực thi các yêu cầu ở phía server 28 Nho m D

Filters 29 Nho m D

Filters 29 Nho m D

Dependency injection v Là phương pháp làm giảm sự phụ thuộc lẫn nhau giữa

Dependency injection v Là phương pháp làm giảm sự phụ thuộc lẫn nhau giữa các đối tượng. 30 Nho m D

Dependency injection v Lợi thế khi sử dụng DI § Giảm móc nối giữa

Dependency injection v Lợi thế khi sử dụng DI § Giảm móc nối giữa các lớp § Tăng khả năng tái sử dụng § Dễ bảo trì, nâng cấp § Dễ Testing 31 Nho m D

Dependency injection v MVC DI được hổ trợ khá nhiều bởi các framework như

Dependency injection v MVC DI được hổ trợ khá nhiều bởi các framework như Unity, Spring, Structmap. v Ở đây xin giới thiệu Unity một framwork của Microsoft. 32 Nho m D

Dependency injection v IDenpendency. Resolver § Get. Service(Type Service. Type) § Get. Services(Type service.

Dependency injection v IDenpendency. Resolver § Get. Service(Type Service. Type) § Get. Services(Type service. Type) v Dependency. Resolver : là lớp static dùng để đăng ký lớp đã thi hành interface IDependency. Resolver. Thực hiện qua phương thức Set. Resolver. 33 Nho m D

Dependency injection v Các bước thực hiện: § Add thư viện framework Unity §

Dependency injection v Các bước thực hiện: § Add thư viện framework Unity § Tạo một lớp A nào đó implement interface IDependency. Resolver • Lớp A này sẽ chứa đối tượng B implement từ IUnity. Container dùng để get. Service từ một kiểu đầu vào. § Định nghĩa Interface C cho lớp muốn DI • Sẽ có nhiều lớp Inplement interface này • B. Register. Type để xác định lớp nào đại diện cho C § Dependency. Resolver. Set. Resolver(A) 34 Nho m D

Một số tính năng khác q Nuget q Partial Page Output Caching. q Granular

Một số tính năng khác q Nuget q Partial Page Output Caching. q Granular Control over Request Validation q Extensible Scaffolding with Mvc. Scaffold integration q HTML 5 enabled project templates. q Java. Script and Ajax 35 Nho m D

Nu. Get v Là một phần mở rộng trong Visual Studio 2011 v Là

Nu. Get v Là một phần mở rộng trong Visual Studio 2011 v Là hệ thống quản lý những gói ứng dụng Trên nền tảng. Net. ÞĐơn giản hóa việc kết hợp thư viện thứ 3 vào trong ứng dụng. 36 Nho m D

Cách sử dụng Nuget v Reference Add Library Package Reference… Tool Library package Manager

Cách sử dụng Nuget v Reference Add Library Package Reference… Tool Library package Manager Add Library Package Reference… 37 Nho m D

Giao diện GUI 38 Nho m D

Giao diện GUI 38 Nho m D

Giao diện Console 39 Nho m D

Giao diện Console 39 Nho m D

DEMO v ỨNG DỤNG MVC QUẢN LÝ ĐIỆN THOẠI 40 Nho m D

DEMO v ỨNG DỤNG MVC QUẢN LÝ ĐIỆN THOẠI 40 Nho m D

Diagram Title Add your text Theme. Gallery is a Design Digital Content & Contents

Diagram Title Add your text Theme. Gallery is a Design Digital Content & Contents mall developed by Guild Design Inc. 41 Nho m D

Cycle Diagram Add Your Text Cycle name Text 42 Nho m D

Cycle Diagram Add Your Text Cycle name Text 42 Nho m D

Diagram Text Add Your Title Text • Text • Text 1 2 3 4

Diagram Text Add Your Title Text • Text • Text 1 2 3 4 5 Add Your Title Text • Text • Text 1 2 3 4 5 Text 43 Nho m D

Diagram Text Concept Text Add Your Text 44 Nho m D

Diagram Text Concept Text Add Your Text 44 Nho m D

Diagram Add Your Text Add Your Text 45 Nho m D

Diagram Add Your Text Add Your Text 45 Nho m D

Diagram A Add Your Text here B C Add Your Text D Add Your

Diagram A Add Your Text here B C Add Your Text D Add Your Text 46 Nho m D

Diagram Text Theme. Gallery is a Design Digital Content & Contents mall developed by

Diagram Text Theme. Gallery is a Design Digital Content & Contents mall developed by Guild Design Inc. 47 Nho m D

Diagram Text Add Your Title Text 48 Nho m D

Diagram Text Add Your Title Text 48 Nho m D

Cycle Diagram Add Your Text B Add Your Text A C Add Your Text

Cycle Diagram Add Your Text B Add Your Text A C Add Your Text Concept Add Your Text D E 49 Add Your Text Nho m D

Diagram 1 2 3 Theme. Gallery is a Design Digital Content & Contents mall

Diagram 1 2 3 Theme. Gallery is a Design Digital Content & Contents mall developed by Guild Design Inc. 50 Nho m D

Diagram 2004 2003 2002 2001 ur Yo t Tex t t t Tex Tex

Diagram 2004 2003 2002 2001 ur Yo t Tex t t t Tex Tex ur t Tex Yo ur Yo Nho m D 51

Progress Diagram Phase 1 Phase 2 Phase 3 52 Nho m D

Progress Diagram Phase 1 Phase 2 Phase 3 52 Nho m D

Block Diagram TEXT TEXT 53 TEXT Nho m D

Block Diagram TEXT TEXT 53 TEXT Nho m D

Table Title Title O O O O O Title O O O Title O

Table Title Title O O O O O Title O O O Title O X O 54 Nho m D

Diagram Add Your Text Title Text 55 Nho m D

Diagram Add Your Text Title Text 55 Nho m D

Block Diagram Add Your Text concept Concept 56 Concept Nho m D

Block Diagram Add Your Text concept Concept 56 Concept Nho m D

LOGO

LOGO