CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ASP.1 Giới thiệu về ASP.NET là một nền tảng ứng dụng web (web application framework) được phát triển và cung cấp bởi Microsoft, cho phép những người lập trình tạo ra những trang web động, những ứng dụng web và những dịch vụ web.NET là một khung công tác web miễn phí để xây dựng các trang web và ứng dụng web tuyệt đẹp bằng cách sử dụng HTML, CSS và JavaScript. Bạn cũng có thể tạo các API web và sử dụng các công nghệ thời gian thực như cổng thông tin web.NET cung cấp ba khuôn khổ để tạo các ứng dụng Web: Web Forms, ASP.NET MVC và ASP.NET Web Pages. Cả ba framework đều ổn định và trưởng thành, và bạn có thể sử dụng bất kỳ framework nào trong số chúng để tạo các ứng dụng web tuyệt vời. Bất kể bạn chọn khuôn khổ nào, bạn sẽ nhận được tất cả các lợi ích và tính năng của ASP.
Mỗi khuôn khổ nhắm đến một phong cách phát triển khác nhau. Cái nào bạn chọn phụ thuộc vào sự kết hợp của các tài sản lập trình của bạn (kiến thức, kỹ năng và kinh nghiệm phát triển), loại ứng dụng bạn đang tạo và phương pháp phát triển mà bạn quen thuộc.NET Web Forms, bạn có thể tạo các trang web động bằng cách sử dụng mô hình kéo thả quen thuộc theo hướng sự kiện. Giao diện thiết kế và hàng trăm điều khiển và thành phần cho phép bạn nhanh chóng xây dựng các trang web dựa trên giao diện người dùng phức tạp, mạnh mẽ với quyền truy cập dữ liệu.NET MVC cung cấp cho bạn một cách mạnh mẽ, dựa trên mẫu để xây dựng các trang web động, cho phép tách biệt rõ ràng các mối quan tâm và cho phép bạn toàn quyền kiểm soát việc đánh dấu để phát triển thú vị, nhanh nhẹn và linh hoạt.NET MVC bao gồm nhiều tính năng cho phép phát triển nhanh chóng, thân thiện với TDD để tạo các ứng dụng phức tạp bằng cách sử dụng các tiêu chuẩn website mới nhất. 14 Cả ba khung ASP.NET đều dựa trên .NET Framework và chia sẻ chức năng cốt lõi của .NET và ASP.
Ví dụ: cả ba khung đều cung cấp mô hình bảo mật đăng nhập dựa trên tư cách thành viên và cả ba khung đều chia sẻ cùng một công cụ để quản lý các yêu cầu, phiên, v. Nó là một phần của chức năng ASP. Hơn nữa, ba khung không hoàn toàn độc lập và việc chọn một khung không loại trừ việc sử dụng một khung khác. Vì các khuôn khổ có thể cùng tồn tại trong cùng một ứng dụng web, nên không có gì lạ khi các thành phần riêng lẻ của các ứng dụng được viết bằng các khuôn khổ khác nhau.
Ví dụ: phần khách hàng của một ứng dụng có thể được phát triển trong MVC để tối ưu hóa cho đánh dấu, trong khi các phần quản trị và truy cập dữ liệu được phát triển trong Biểu mẫu Web để tận dụng các kiểm soát dữ liệu và truy cập dữ liệu đơn giản.NET hỗ trợ một số mô hình lập trình để xây dựng các ứng dụng web: ASP.NET Web Forms - Một khung để xây dựng các trang mô-đun từ các thành phần, với các sự kiện giao diện người dùng được xử lý phía máy chủ.NET MVC - Cho phép xây dựng các trang web bằng cách sử dụng mẫu thiết kế model-view-controller .NET Web Pages - Một cú pháp nhẹ để thêm mã động và truy cập dữ liệu trực tiếp trong đánh dấu HTML.NET Web API - Một khung để xây dựng các API Web trên .NET WebHooks - Triển khai mẫu Webhook để đăng ký và xuất bản các sự kiện qua HTTP. SignalR - Một khung giao tiếp thời gian thực để giao tiếp hai chiều giữa máy khách và máy chủ.2 Giới thiệu về mô hình MVC 1.1 Giới thiệu về mô hình MVC MVC (viết tắt của Model-View-Controller) là một mẫu kiến trúc phầm mềm để tạo lạp giao diện người dùng trên máy tính. MVC chia một ứng dụng thành ba phần tương tác được với nhau để tách biệt giữa cách thức mà thông tin được xử lý nội hàm và phần thông tin được trình bày và tiếp nhận từ phía người dung. Mô hình MVC gồm 3 thành phần chính không thể thiếu khi áp dụng mô hình này: Hình 1.
1 Cấu trúc mô hình MVC Model: Nó là thành phần có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng. Phần này có nhiệm vụ kết nối giữa hai bộ phận View và Controller. Mô hình được trình bày dưới dạng cơ sở dữ liệu hoặc đôi khi chỉ là một tệp XML thuần túy. Các model thể hiện rõ ràng các hoạt động trên cơ sở dữ liệu, chẳng hạn như truy xuất, cho phép xem, xử lý dữ liệu, v.
View: 16 Đây là giao diện người dùng. Người dùng tìm kiếm trang web hoặc các thao tác truy vấn như sử dụng để có thể lấy thông tin dữ liệu MVC. Thông thường, MVC View được dùng như một phần của hệ thống các ứng dụng web, nơi tạo ra các thành phần HTML. Ngoài ra, View có khả năng ghi lại hoạt động của người dùng để tương tác với Controller.
Nhưng View không có mối quan hệ trực tiếp với Controller, cũng như không thể lấy dữ liệu từ Controller, nó chỉ hiển thị yêu cầu chuyển đến Controller. Ví dụ: Nút "Lưu" do chế độ xem tạo sẽ tạo ra một hành động trong Controller khi người dùng nhấp vào nút. Controller : Bộ phận này chịu trách nhiệm xử lý các yêu cầu của người dùng được đưa ra thông qua các View. Từ đó, Controller cung cấp dữ liệu chính xác cho người dùng.
Ngoài ra Controller còn có khả năng kết nối các model.2 Luồng tương tác giữa các thành phần trong MVC. Ví dụ: Chức năng thêm sản phẩm mới trong trang web bán hàng. Nơi đây có các trường nhập về thông tin sản phẩm, thì trong đó: View sẽ hiển thị ra phần nhập form để người dùng có thể nhập vào. Khi nhấn lưu Controller lấy dữ liệu từ đó và gửi tới Model.
Model lúc này sẽ nhận dữ liệu từ Controller để lưu trữ trong cơ sở dữ liệu. 17 Mỗi bộ phận thực hiện chức năng nhất định, nhưng chúng có sự thống nhất, liên kết với nhau tạo nên mô hình MVC. Mô hình này tương đối nhẹ. Nó có thể tích hợp được nhiều tính năng có trong ASP.NET hiện giờ.2 Lịch sử của MVC Mô hình MVC được giới thiệu với ngôn ngữ lập trình Smalltalk-76 khi Tiến sĩ Trygve Reenskaug đến Trung tâm Nghiên cứu Xerox Palo Alto (PARC) vào giữa những năm 1970.
Sau đó, việc thực hiện đã được sử dụng rộng rãi trong các phiên bản khác nhau. Tạp chí Công nghệ-1988 đã nói rằng mô hình MVC đem đến sự hiểu quả vào tối ưu 1.3 Ưu và nhược điểm của MVC Ưu điểm mô hình MVC Trước tiên, nói về ưu điểm của mô hình MVC, đó là băng thông nhẹ, vì nó không sử dụng trạng thái xem nên tiết kiệm đường chuyền. Giảm băng thông giúp website chạy ổn định hơn. Các bài kiểm tra sử dụng đơn giản giúp kiểm tra lỗi phần mềm nhanh trước khi giao lại cho người dùng.
Một trong những ưu điểm chính của MVC là các thành phần model, controller và view độc lập với nhau giúp phát triển ứng dụng nhanh, dễ nâng cấp, bảo trì. Sử dụng mô hình MVC, chức năng Bộ điều khiển đóng vai trò quan trọng và tối ưu trên các nền tảng ngôn ngữ khác nhau Nhiều nhà phát triển có thể được chia để làm việc cùng một lúc. Công việc của các nhà phát triển không ảnh hưởng đến nhau. Hỗ trợ cho TTD (Phát triển theo hướng kiểm tra).
Chúng ta có thể tạo một ứng dụng với các bài kiểm tra đơn vị và viết các trường hợp kiểm thử thành công. Phiên bản mới nhất của MVC hỗ trợ thiết kế trang web đáp ứng mặc định và các mẫu di động. Chúng ta có thể tạo công cụ xem của riêng mình với cú pháp đơn giản hơn các công cụ truyền thống. 18 Nhược điểm mô hình MVC Bên cạnh những ưu điểm mà MVC mang lại thì nó cũng tồn tại một số nhược điểm cần khắc phục.
MVC chủ yếu phù hợp với các công ty hoặc các dự án quy mô lớn chuyên về website, đối với dự án nhỏ việc áp dụng mô hình MVC gây phức tập, làm chậm tiến độ dự án trong quá trình phát triển Tốn thời gian trung chuyển dữ liệu của các thành phần. Khó triển khai.3 Tổng quan về ASP.1 Giới thiệu ASP.NET MVC là một khung ứng dụng Web được phát triển bởi Microsoft, thực hiện mô hình Model-View-Controller (MVC). Nó không còn được phát triển tích cực. Nó là phần mềm mã nguồn mở.
Dựa trên ASP.NET MVC cho phép các nhà phát triển phần mềm xây dựng một ứng dụng Web như các thành phần trong ba vai trò: Model (truy xuất cơ sở dữ liệu), View (hiển thị) và Controller (bộ điều khiển). Vào tháng 4 năm 2009, mã nguồn ASP.NET MVC được phát hành theo Giấy phép Công cộng Chung của Microsoft .2 Ưu và nhược điểm Ưu điểm: Thể hiện tính chuyên nghiệp trong lập trình Được chia thành các thành phần độc lập nên giúp phát triển ứng dụng nhanh, dễ nâng cấp, bảo trì. Vì được phát triển bởi Microsoft nên ứng dụng tạo ra chạy ổn định trên Windows Đáp ứng nhiều loại thiết bị truy cập và hỗ trợ nhiều ngôn ngữ An toàn, Dễ tích hợp Khuyết điểm: 19 Đối với dự án nhỏ việc áp dụng mô hình MVC gây cồng kềnh, tốn thời gian trong quá trình phát triển. Tốn thời gian trung chuyển dữ liệu của các thành phần 1.3 Lợi ích web dựa trên mô hình MVC Dễ dàng quản lý sự phức tạp của ứng dụng bằng cách chia ứng dụng thành Model, View, Controller.
Không sử dụng view state hoặc server-based form. Điều này tốt cho những lập trình viên muốn quản lý hết các khía cạnh của một ứng dụng. Sử dụng mẫu Front Controller, mẫu này giúp quản lý các requests (yêu cầu) chỉ thông qua một Controller. Hỗ trợ tốt hơn cho mô hình phát triển ứng dụng hướng kiểm thử Hỗ trợ tốt cho các ứng dụng được xây dựng bởi những đội có nhiều lập trình viên và thiết kế mà vẫn quản lý được tính năng của ứng dụng.4 Sự khác biệt với WebForm Tính năng ASP.NET WebForm ASP.NET MVC Kiến trúc Kiến trúc mô hình WebForm Kiến trúc sử dụng công việc chương trình => Business =>Database.
phân chia chương trình thành Cỏtrollers, Models, Views. Cú pháp chương Sử dụng cú pháp của Các sự kiện dượcđiều khiển trình webform, tất cả các sự kiện và bởi controllers, các controls controls do server quản lý.