Hướng dẫn ASP.NET MVC cho người mới bắt đầu: Là gì, Archikiến trúc
⚡ Tóm tắt thông minh
ASP.NET MVC là mã nguồn mở. Microsoft Khung phần mềm này tách ứng dụng web thành các lớp Model, View và Controller, giúp các nhà phát triển kiểm soát hoàn toàn HTML, có mã nguồn dễ kiểm thử, định tuyến rõ ràng và là một giải pháp thay thế nhẹ nhàng cho Web Forms truyền thống.
ASP.NET MVC là gì?
ASP.NET MVC là một khung phát triển web nguồn mở từ Microsoft Nó cung cấp kiến trúc Model-View-Controller (MVC). ASP.NET MVC là một giải pháp thay thế cho ASP.NET Web Forms để xây dựng các ứng dụng web. Nó là một phần của nền tảng .NET để xây dựng, triển khai và chạy các ứng dụng web. Bạn có thể phát triển các ứng dụng web và trang web với sự trợ giúp của HTML, CSS, jQuery, JavaKịch bản, v.v.
Tìm hiểu MVC với hướng dẫn ASP.NET MVC này bao gồm tất cả các khái niệm cơ bản về MVC cho người mới bắt đầu:
Tại sao nên chọn ASP.NET MVC?
Mặc dù các hình thức web đã rất thành công, Microsoft nghĩ đến việc phát triểnping ASP.NET MVC. Vấn đề chính của ASP.NET webForms là hiệu năng.
Trong một ứng dụng web, có bốn khía cạnh chính xác định hiệu suất: -
- Vấn đề về thời gian phản hồi
- Vấn đề kiểm tra đơn vị
- Tùy chỉnh HTML
- Khả năng sử dụng lại của lớp mã phía sau
ASP.NET MVC vượt trội ở các tiêu chí nêu trên.
Lịch sử phiên bản của MVC
ASP.NET MVC1
- Phát hành vào ngày 13 tháng 2009 năm XNUMX
- Nó chạy trên .NET 3.5
- Visual Studio 2008
- Kiến trúc mẫu MVC với WebForm Engine
- Các tính năng chính bao gồm Html & Kiểm tra đơn vị, Trình trợ giúp Ajax, Định tuyến, v.v.
ASP.NET MVC2
- Phiên bản này phát hành vào ngày 10 tháng 2010 năm XNUMX
- Chạy trên .NET 3.5, 4.0 và với Microsoft Visual Studio 2008
- Bao gồm các tính năng như trình trợ giúp dựa trên mẫu, trình trợ giúp giao diện người dùng với cấu trúc tự động và các mẫu có thể tùy chỉnh.
- Nó hỗ trợ các Thuộc tính DataAnnotations để áp dụng xác thực mô hình ở phía máy khách và máy chủ
ASP.NET MVC3
- Nó được phát hành vào ngày 13 tháng 2011 năm XNUMX
- Chạy trên .NET 4.0 và với Microsoft Visual Studio 2010
- Sử dụng NuGet để cung cấp phần mềm và cho phép bạn quản lý các phần phụ thuộc trên nền tảng
- Hơn JavaHỗ trợ mã lệnh với jQuery Validation và liên kết JSON.
- Nó cung cấp các tính năng như công cụ hiển thị Razor và các thuộc tính Chú thích dữ liệu nâng cao để xác thực mô hình ở cả phía máy khách và máy chủ.
ASP.NET MVC4
- Phiên bản này được phát hành vào tháng 2012 năm XNUMX
- Nó chạy trên .NET 4.0, 4.5 và với Visual Studio 2010 & Visual Studio 2012
- Cải tiến cho các mẫu dự án mặc định
- Cung cấp các tính năng như mẫu dự án di động sử dụng jQuery Mobile, hỗ trợ tác vụ cho Bộ điều khiển không đồng bộ, đóng gói, thu nhỏ, v.v.
ASP.NET MVC5
- Phát hành vào ngày 17 tháng 2013 năm XNUMX
- Chạy trên .NET 4.5, 4.5.1 và với Visual Studio 2012 & Visual Studio 2013.
- Hỗ trợ định tuyến thuộc tính trong MVC
Đặc điểm của MVC
- Khả năng kiểm tra dễ dàng và không ma sát
- Toàn quyền kiểm soát HTML của bạn, JavaKịch bản và URLs
- Tận dụng hiện có ASP.NET Tính năng
- Một tùy chọn trình bày mới cho ASP.NET
- Một cách đơn giản hơn để lập trình ASP.NET
- Phân tách logic rõ ràng: Model, View, Controller
- Hướng phát triển thử nghiệm
- Hỗ trợ phát triển song song
Những điều cần nhớ khi tạo ứng dụng MVC
Dưới đây là một số điều hữu ích trong hướng dẫn ASP.NET MVC này mà bạn cần nhớ để tạo ứng dụng MVC:
- Bạn cần nhớ rằng ASP.NET MVC KHÔNG phải là sự thay thế cho các ứng dụng dựa trên ASP.NET Web Forms.
- Phương pháp phát triển ứng dụng MVC cần được quyết định dựa trên các yêu cầu của ứng dụng và các tính năng do ASP.NET MVC cung cấp để phù hợp với nhu cầu phát triển cụ thể.
- Quá trình phát triển ứng dụng với ASP.NET MVC phức tạp hơn so với các ứng dụng dựa trên Web Forms.
- Khả năng bảo trì ứng dụng luôn cao hơn với việc phân tách các tác vụ ứng dụng.
Mô hình kiến trúc MVC
MVC là một mô hình kiến trúc phần mềm tuân theo phương pháp tách biệt các mối quan tâm. Trong mô hình này, các ứng dụng .NET được chia thành ba phần liên kết với nhau, được gọi là Model, View và Controller.
Mục tiêu của mẫu MVC là mỗi phần này có thể được phát triển, thử nghiệm một cách tương đối tách biệt và cũng được kết hợp để tạo ra một ứng dụng rất mạnh mẽ.
Chúng ta hãy cùng xem xét chi tiết từng điểm:
mô hình
Đối tượng mô hình là các phần của ứng dụng thực hiện logic cho hoạt động của ứng dụng. miền dữ liệu. Nó lấy và lưu trữ trạng thái mô hình trong cơ sở dữ liệu. Ví dụ: đối tượng sản phẩm có thể lấy thông tin từ một cơ sở dữ liệu, hoạt động trên nó. Sau đó ghi thông tin trở lại bảng sản phẩm trong máy chủ SQL.
Cảnh Quan
Views là các thành phần được sử dụng để hiển thị giao diện người dùng (UI) của ứng dụng, còn được gọi là viewmodel trong MVC. Nó hiển thị ứng dụng .NET MVC được tạo ra từ dữ liệu model.
Ví dụ phổ biến là chế độ xem chỉnh sửa của bảng Mục. Nó hiển thị các hộp văn bản, cửa sổ bật lên và hộp kiểm dựa trên trạng thái hiện tại của sản phẩm & đối tượng.
Người điều khiển
Bộ điều khiển (Controller) xử lý tương tác người dùng, làm việc với mô hình (Model) và chọn một khung nhìn (View) để hiển thị giao diện người dùng. Trong một ứng dụng .NET MVC, khung nhìn chỉ hiển thị thông tin, còn bộ điều khiển quản lý và phản hồi đầu vào và tương tác của người dùng bằng cách sử dụng các bộ lọc hành động (Action Filter) trong MVC.
Ví dụ: bộ điều khiển quản lý các giá trị chuỗi truy vấn và chuyển các giá trị đó cho mô hình.
Biểu mẫu web so với MVC
| Thông số Kỹ thuật | biểu mẫu web | VMC |
|---|---|---|
| Mẫu | ASP.NET Web Forms tuân theo mô hình phát triển hướng sự kiện. | ASP.NET MVC sử dụng mô hình phát triển dựa trên mẫu MVC. |
| Được sử dụng từ | Đã tồn tại từ năm 2002 | Nó được phát hành lần đầu tiên vào năm 2009 |
| Hỗ trợ trạng thái Xem | ASP.NET Web Form hỗ trợ view state để quản lý trạng thái ở phía máy khách. | .NET MVC không hỗ trợ view state. |
| URL kiểu | ASP.NET Web Form có tính năng dựa trên tệp. URLs. Điều đó có nghĩa là tên tệp tồn tại trong URLvà chúng phải tồn tại về mặt vật lý. | ASP.NET MVC có tính năng định tuyến dựa trên tuyến đường. URLđiều đó có nghĩa là URLcác thông báo này được chuyển hướng đến bộ điều khiển và các hành động. |
| cú pháp | ASP.NET Web Forms tuân theo cú pháp Web Forms. | ASP.NET MVC tuân theo cú pháp có thể tùy chỉnh. |
| Kiểu xem | Biểu mẫu web, các giao diện được liên kết chặt chẽ với Code Đằng sau (ASPX-CS), tức là logic. | MVC, Chế độ xem và logic luôn được giữ riêng biệt. |
| Giao diện và cảm nhận nhất quán | Nó có các trang chính để có cái nhìn nhất quán. | ASP.NET MVC có các bố cục giúp tạo ra giao diện nhất quán. |
| Code Tái sử dụng | Biểu mẫu web cung cấp Kiểm soát người dùng để có thể sử dụng lại mã. | ASP.NET MVC cung cấp các partial view để tái sử dụng mã. |
| Kiểm soát HTML | Less kiểm soát HTML được hiển thị. | Kiểm soát hoàn toàn HTML |
| Quản lý nhà nước | Quản lý trạng thái tự động của các điều khiển. | Quản lý trạng thái thủ công. |
| Hỗ trợ TDD | Yêu cầu TDD yếu hoặc tùy chỉnh. | Khuyến khích và tích hợp TDD. |
Ưu điểm của ASP.NET MVC
- Các ứng dụng có khả năng bảo trì cao theo mặc định
- Nó cho phép bạn thay thế bất kỳ thành phần nào của ứng dụng.
- Hỗ trợ tốt hơn cho Phát triển dựa trên thử nghiệm
- Các ứng dụng phức tạp dễ quản lý vì được phân chia thành Model, View và Controller.
- Cung cấp cơ chế định tuyến mạnh mẽ với mẫu bộ điều khiển phía trước
- Cung cấp khả năng kiểm soát tốt hơn đối với hành vi ứng dụng bằng cách loại bỏ trạng thái xem và biểu mẫu dựa trên máy chủ
- Các ứng dụng .NET MVC được hỗ trợ bởi các nhóm lớn gồm các nhà phát triển và nhà thiết kế web.
- Nó cung cấp nhiều quyền kiểm soát hơn đối với các hành vi của ứng dụng. Nó cũng sử dụng băng thông được tối ưu hóa cho các yêu cầu được gửi tới máy chủ
Nhược điểm của ASP.NET MVC
- Bạn không thể xem trước trang thiết kế giống như trang .aspx.
- Bạn cần chạy chương trình mỗi lần để xem thiết kế thực tế của nó.
- Hiểu được dòng chảy của ứng dụng có thể là một thách thức
- Việc triển khai khá phức tạp nên không phải là lựa chọn lý tưởng cho các ứng dụng cấp nhỏ
- Thật khó để học MVC cho ASP.NET vì nó đòi hỏi sự hiểu biết sâu sắc về mẫu MVC
Các phương pháp tốt nhất khi sử dụng ASP.NET MVC
- Tạo một assembly riêng cho MODEL trong trường hợp mã nguồn lớn và phức tạp để tránh mọi tình huống không mong muốn.
- Mô hình nên bao gồm logic nghiệp vụ, bảo trì phiên, phần xác thực và phần logic dữ liệu.
- VIEW không được chứa bất kỳ logic nghiệp vụ và bảo trì phiên nào, hãy sử dụng ViewData để truy cập dữ liệu trong View
- Logic nghiệp vụ và truy cập dữ liệu không bao giờ nên diễn ra trong Controller.
- Bộ điều khiển chỉ chịu trách nhiệm chuẩn bị và trả về chế độ xem, gọi mô hình, chuyển hướng đến hành động, v.v.
- Xóa mã Demo khỏi ứng dụng khi bạn tạo nó (Xóa AccountController)
- Chỉ sử dụng công cụ xem cụ thể để tạo đánh dấu HTML từ chế độ xem của bạn vì đây là sự kết hợp giữa HTML và mã lập trình.


