sách gpt4 ăn đã đi

Thảo luận ngắn gọn về ưu điểm của khung MVC (bản dịch)

In lại Tác giả: qq735679552 Thời gian cập nhật: 29-09-2022 22:32:09 29 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài blog CFSDN này bàn sơ qua về ưu điểm của MVC framework (bản dịch) được tác giả sưu tầm và biên soạn. Nếu các bạn quan tâm đến bài viết này thì nhớ like nhé.

Các biểu mẫu web ASP.NET truyền thống là một ý tưởng rất hay, nhưng các yêu cầu thực tế lại rất phức tạp. Theo thời gian, các dự án trong thế giới thực đã bộc lộ một số thiếu sót của Biểu mẫu web:

Trạng thái xem "nặng": Trong thực tế, việc duy trì trạng thái (được gọi là trạng thái xem) giữa các yêu cầu http dẫn đến khối dữ liệu khổng lồ được truyền qua lại giữa máy chủ và máy khách. Thông thường khối dữ liệu này sẽ có kích thước hàng trăm kilobyte và khối dữ liệu này sẽ được truyền qua lại theo mỗi yêu cầu, khiến cho người truy cập website bị chậm truy cập và tăng gánh nặng băng thông cho máy chủ.

Vòng đời của trang: Là một phần của vòng đời trang, cơ chế kết nối các sự kiện phía máy khách và mã xử lý sự kiện phía máy chủ đôi khi có thể rất phức tạp và tinh tế. Rất ít nhà phát triển có thể thao tác thành công hệ thống phân cấp kiểm soát trong thời gian chạy mà không gặp phải lỗi trạng thái xem và đôi khi nhận thấy rằng một số mã xử lý sự kiện bị lỗi một cách bí ẩn trong thời gian chạy.

  。

Kiểm soát hạn chế đối với HTML: Các điều khiển phía máy chủ tự chuyển đổi thành đánh dấu HTML ở phía máy khách, nhưng thường không phải là thứ bạn muốn. Trong các phiên bản trước ASP.NET 4.0, đầu ra HTML của nó thường không tuân thủ các tiêu chuẩn WEB và không được tích hợp tốt với Cascading Style Sheets (CSS). Hơn nữa, các điều khiển phía máy chủ tự động tạo ra các giá trị ID thẻ phức tạp và không thể đoán trước, dẫn đến Javascript. rất khó tiếp cận. Những vấn đề này đã được cải thiện trong ASP.NET 4.0, nhưng việc nhận được đánh dấu HTML mà bạn mong đợi vẫn có thể gặp khó khăn.

Sự trừu tượng hóa có vấn đề: Biểu mẫu web cố gắng ẩn chi tiết triển khai HTML và HTTP càng nhiều càng tốt. Khi muốn triển khai hành vi tùy chỉnh, bạn phải thường xuyên thoát ra khỏi sự trừu tượng này, buộc bạn phải thiết kế ngược việc triển khai cơ chế sự kiện gửi lại và thực hiện một số hành động khó hiểu để tạo ra văn bản HTML mà bạn muốn. Những sự trừu tượng này có thể gây ra sự thất vọng khó chịu cho ngay cả những nhà phát triển web có kinh nghiệm nhất.

Khả năng kiểm tra ở mức độ thấp: Các nhà thiết kế của ASP.NET không coi kiểm thử tự động là một công cụ cần thiết cho nền tảng phát triển phần mềm này. Điều này không có gì đáng ngạc nhiên, kiến ​​trúc liên kết chặt chẽ mà họ thiết kế đơn giản là không phù hợp để thử nghiệm đơn vị và thử nghiệm tích hợp cũng là một vấn đề.

ASP.NET không ngừng phát triển. Phiên bản 2.0 bổ sung thêm một bộ thành phần ứng dụng tiêu chuẩn giúp giảm số lượng mã bạn cần tự nhập. Phiên bản AJAX phát hành năm 2007 là phản ứng của Microsoft trước sự phổ biến điên cuồng của Web 2.0/AJAX vào thời điểm đó và nó hỗ trợ tương tác phong phú với khách hàng. Phiên bản ASP.NET 4.0 được phát hành gần đây có thể tạo ra hầu hết các đánh dấu HTML tuân thủ các tiêu chuẩn có thể dự đoán được, nhưng vẫn còn nhiều hạn chế cố hữu.

Ưu điểm chính của ASP.NET MVC.

ASP.NET đã đạt được thành công lớn về mặt thương mại, nhưng như đã đề cập trước đó, các nền tảng phát triển WEB khác cũng đang phát triển. Mặc dù Microsoft đã nỗ lực hết sức để xóa bỏ các "mạng nhện" xung quanh WEB Forms nhưng các khái niệm thiết kế vốn có của nó đã bị tụt lại phía sau.

  。

Vào tháng 10 năm 2007, tại hội nghị ALT.NET đầu tiên được tổ chức tại Austin, Texas, Hoa Kỳ, Phó chủ tịch Microsoft Scott Guthrie đã giới thiệu và trình diễn một nền tảng phát triển MVC WEB mới dựa trên ASP.NET. Nó được thiết kế rõ ràng như một phản ứng trực tiếp với các công nghệ như. Rails và những lời chỉ trích trong ngành về Biểu mẫu Web. Phần còn lại của chương này mô tả cách nền tảng mới này giải quyết những thiếu sót của Web Forms và đưa ASP.NET trở lại vị trí hàng đầu.

(1) Kiến trúc MVC.

Điều quan trọng là phải hiểu sự khác biệt giữa mẫu xây dựng MVC và khung công tác ASP.NET MVC. Mô hình MVC không phải là một điều mới mẻ - nó bắt nguồn từ dự án Smalltalk của Trung tâm nghiên cứu Palo Alto của Xerox năm 1978 - nhưng nó được phổ biến rộng rãi trong lĩnh vực phát triển WEB ngày nay vì những lý do sau:

Tương tác của người dùng trong ứng dụng MVC tuân theo một chu trình tự nhiên: người dùng thực hiện một hành động và để phản hồi, ứng dụng sẽ thay đổi mô hình dữ liệu và cung cấp chế độ xem cập nhật cho người dùng. Ứng dụng tiếp tục chạy theo vòng lặp như thế này. Chế độ này rất phù hợp để phân phối ứng dụng WEB.

Một loạt các yêu cầu và phản hồi HTTP.

Các ứng dụng WEB nhất thiết phải liên quan đến một số lĩnh vực kỹ thuật khác nhau (cơ sở dữ liệu, HTML, mã thực thi) và thông thường các công nghệ này được phân phối ở các cấp độ khác nhau. Khái niệm MVC đương nhiên tương ứng với mô hình kết hợp của các công nghệ này.

ASP.NET MVC framework triển khai mẫu MVC và khi làm như vậy, sẽ tạo điều kiện phân tách các mối quan tâm tốt hơn. Trên thực tế, ASP.NET MVC triển khai mẫu MVC được tùy chỉnh riêng để phát triển ứng dụng WEB. Trong Chương 4, bạn sẽ tìm hiểu thêm về lý thuyết của hệ thống này và tự mình trải nghiệm nó.

Bằng cách bao gồm và cải tiến mẫu MVC, khung ASP.NET MVC đã trở nên có tính cạnh tranh cao với các khung như Ruby on Rails, đồng thời đưa mẫu MVC vào trường .NET chính thống. Qua đánh giá kinh nghiệm và phản hồi ứng dụng thực tế của ASP.NET MVC do các nhà phát triển sử dụng nền tảng khác cung cấp, ASP.NET MVC thậm chí đã vượt qua Rails về nhiều mặt.

(2) Khả năng mở rộng.

Máy tính để bàn của bạn được tạo thành từ một số bộ phận độc lập, được kết nối với nhau thông qua các giao diện tài liệu và công cộng tiêu chuẩn. Bạn có thể dễ dàng đổi card đồ họa và ổ cứng của mình lấy card đồ họa và ổ cứng của nhà sản xuất khác và tự tin rằng chúng sẽ cắm vào các khe thích hợp và hoạt động bình thường. Nguyên tắc của khung công tác MVC, giống như PC, là nó được xây dựng trên một loạt các thành phần độc lập - chẳng hạn như giao diện .NET đáng tin cậy hoặc lớp người dùng kế thừa một lớp cơ sở trừu tượng - để bạn có thể dễ dàng thay thế nó bằng lớp cơ sở của riêng bạn. triển khai Các thành phần này, chẳng hạn như hệ thống định tuyến, công cụ xem, nhà máy điều khiển, v.v.

Trình thiết kế ASP.NET MVC cung cấp cho bạn ba lựa chọn về cách sử dụng từng thành phần của khung MVC:

Sử dụng cách triển khai thành phần mặc định (đủ cho hầu hết các ứng dụng).

Triển khai một lớp con kế thừa từ quá trình triển khai mặc định để tinh chỉnh các hành vi nhất định.

Thay thế các thành phần này bằng giao diện mới hoặc triển khai lớp cơ sở trừu tượng.

Chúng trông hơi giống mô hình nhà cung cấp trong ASP.NET 2.0, nhưng nó tiến thêm một bước nữa - hoàn toàn đi vào trung tâm của khung công tác MVC. Bắt đầu từ Chương 10, bạn sẽ tìm hiểu về các thành phần khác nhau và lý do bạn nên điều chỉnh hoặc thay thế chúng.

(3) Kiểm soát chặt chẽ HTML và HTTP.

  。

ASP.NET MVC hiểu tầm quan trọng của việc tạo ra các đánh dấu sạch, tuân thủ tiêu chuẩn. Đầu ra của các phương thức trợ giúp HTML tích hợp của nó hoàn toàn tuân thủ các tiêu chuẩn, nhưng những thay đổi quan trọng hơn của nó so với Biểu mẫu web được phản ánh trong triết lý thiết kế của nó. Thay vì có ít quyền kiểm soát đối với đánh dấu HTML được đóng gói một cách kinh tởm do Biểu mẫu Web tự động tạo ra, khung MVC khuyến khích bạn thiết kế đánh dấu ngắn gọn, trang nhã bằng CSS.

Tất nhiên, nếu bạn muốn đặt một số tiện ích phần tử giao diện người dùng tổng hợp được tạo sẵn trên trang của mình, chẳng hạn như lịch hoặc menu xếp tầng, phương pháp đánh dấu "không có yêu cầu đặc biệt" trong ASP.NET MVC cho phép bạn dễ dàng sử dụng thư viện giao diện người dùng tốt nhất, chẳng hạn như thư viện YUI của JQuery hoặc Yahoo. Microsoft đã xây dựng JQuery như một phần của mẫu dự án mặc định cho ASP.NET MVC. Các lập trình viên JavaScript sẽ hài lòng vì ASP.NET MVC được tích hợp rất chặt chẽ với thư viện JQuery phổ biến, ngay cả trên các máy chủ Mạng phân phối nội dung (CDN) của chính Microsoft. có thể tham chiếu trực tiếp tệp Jquery.js. Chúng ta sẽ đề cập đến JQuery trong Chương 20.

Các trang được tạo bởi ASP.NET MVC không chứa bất kỳ dữ liệu trạng thái xem nào, vì vậy chúng nhỏ hơn hàng trăm kilobyte so với các trang ASP.NET Web Forms thông thường. Mặc dù kết nối băng thông rộng ngày nay cực kỳ nhanh nhưng việc tiết kiệm băng thông này vẫn mang lại sự cải thiện lớn về trải nghiệm của người dùng cuối.

Giống như Ruby on Rails, ASP.NET MVC và HTTP hoạt động hài hòa. Bạn có toàn quyền kiểm soát các yêu cầu qua lại giữa trình duyệt và máy chủ, cho phép bạn tinh chỉnh trải nghiệm người dùng theo ý thích của mình. AJAX giờ đây dễ triển khai và không có tính năng đăng lại tự động ảnh hưởng đến trạng thái máy khách. Bất kỳ nhà phát triển nào chú ý đến lĩnh vực phát triển web gần như chắc chắn sẽ thấy rằng ASP.NET MVC sẽ giảm đáng kể khối lượng công việc và các nhiệm vụ hoàn thành trong cùng một khoảng thời gian sẽ khiến bạn hài lòng hơn.

(4) Dễ dàng kiểm tra.

MVC cho phép bạn thực hiện một bước tiến lớn trong việc làm cho ứng dụng của bạn có thể bảo trì và kiểm thử được, bởi vì bạn có thể tách chương trình thành nhiều phần mềm độc lập, khác nhau một cách tự nhiên dựa trên các chức năng khác nhau mà nó muốn triển khai. Tuy nhiên, các nhà thiết kế của ASP.NET MVC không dừng lại ở đó. Để hỗ trợ thử nghiệm đơn vị, họ đã đưa khái niệm thiết kế hướng thành phần vào khung và đảm bảo rằng mỗi khối mã riêng biệt được xây dựng dưới dạng đáp ứng nhu cầu của các công cụ mô phỏng và thử nghiệm đơn vị.

Đối với các nhà phát triển, họ cũng đã thêm Trình hướng dẫn tạo đơn vị kiểm tra vào Trình hướng dẫn Visual Studio, có thể sử dụng nhiều công cụ kiểm tra đơn vị nguồn mở, chẳng hạn như NUnit và xUnit, và thậm chí cả MSTest của chính Microsoft. Ngay cả khi bạn chưa bao giờ viết mã kiểm thử đơn vị trước đây thì bạn cũng sẽ có một khởi đầu tốt.

Xuyên suốt cuốn sách này, bạn sẽ thấy nhiều ví dụ kiểm thử đơn vị đơn giản, rõ ràng dành cho bộ điều khiển ASP.NET MVC và các hành động sử dụng nhiều chiến lược thử nghiệm và mô phỏng khác nhau để giả vờ triển khai các thành phần khung nhằm xác định bất kỳ tình huống nào có thể phát sinh trong thực tế. hoạt động.

Khả năng kiểm tra dễ dàng không chỉ áp dụng cho các bài kiểm tra đơn vị, các ứng dụng ASP.NET MVC còn hoạt động rất tốt với các công cụ kiểm tra tự động hóa giao diện người dùng. Bạn có thể mô phỏng các kịch bản tương tác của người dùng và viết tập lệnh kiểm tra. Bạn không còn phải đoán cấu trúc của các phần tử HTML, các lớp CSS được sử dụng hoặc ID do khung tạo ra và bạn không phải lo lắng về những thay đổi không thể giải thích được trong cấu trúc của trang.

(5) Hệ thống định tuyến mạnh mẽ.

Kiểu dáng của URL cũng không ngừng phát triển cùng với sự phát triển của công nghệ ứng dụng Web. Giống như URL sau:

/App_v2/User/Page.aspx?action=show%20prop&prop_id=82742 。

Sẽ ngày càng trở nên hiếm và sẽ được thay thế bằng một định dạng đơn giản, gọn gàng, như thế này:

/cho-thuê/chicago/2303-silver-street 。

Có một số lý do chính đáng khiến chúng tôi chú ý đến cấu trúc của URL: Đầu tiên, các công cụ tìm kiếm ấn định trọng số lớn cho các từ khóa tìm kiếm trong URL. Tìm kiếm "tiền thuê nhà ở Chicago" sẽ dễ dàng khớp với URL đơn giản ở trên hơn. Thứ hai, nhiều người dùng Internet hiện nay đủ tinh tế để hiểu URL nghĩa là gì và họ đánh giá cao các tùy chọn điều hướng thông minh khi nhập địa chỉ vào thanh địa chỉ của trình duyệt. Thứ ba, khi mọi người hiểu cấu trúc của một URL, họ có nhiều khả năng liên kết tới nó, chia sẻ nó với bạn bè và thậm chí đọc to nó qua điện thoại. Thứ tư, nó không hiển thị các chi tiết kỹ thuật của cấu trúc ứng dụng, thư mục và tên tệp của bạn trên toàn bộ Internet, do đó bạn có thể tự do thay đổi cách triển khai cơ bản mà không ảnh hưởng đến các kết nối bạn đã có.

Các khung ban đầu rất khó đạt được URL chính xác, nhưng ASP.NET MVC sử dụng không gian tên System.Web.Routing theo mặc định để dễ dàng cung cấp URL chính xác. Nó cho phép bạn kiểm soát kiểu URL và liên kết chúng với ứng dụng của mình, cho phép bạn tự do tạo kiểu địa chỉ có ý nghĩa và hữu ích cho người dùng mà không cần phải tuân theo các mẫu được xác định trước. Ngoài ra, bạn có thể dễ dàng xác định các kiểu URL kiểu REST đầy phong cách nếu muốn. Bạn sẽ tìm thấy sơ đồ định tuyến chi tiết và các phương pháp hay nhất cho URL trong Chương 11.

(6) Được xây dựng trên những phần tốt nhất của nền tảng ASP.NET.

Nền tảng ASP.NET hiện tại của Microsoft đã cung cấp một bộ thành phần và công cụ hoàn thiện và đã được chứng minh để phát triển các ứng dụng web thực tế và hiệu quả.

Đầu tiên và rõ ràng nhất, vì ASP.NET MVC được xây dựng trên nền tảng .NET nên người dùng có thể linh hoạt sử dụng bất kỳ ngôn ngữ .NET nào để viết mã và truy cập các chức năng API giống nhau - không chỉ trong MVC mà còn trong một số lượng lớn hệ thống. Thư viện lớp NET và nhiều thư viện .NET của bên thứ ba.

Thứ hai, các tính năng nền tảng ASP.NET hiện có—chẳng hạn như trang chính, xác thực biểu mẫu, tư cách thành viên, vai trò, hồ sơ và quốc tế hóa—có thể giảm số lượng mã bạn cần để phát triển và duy trì bất kỳ ứng dụng nào. Nó cũng hợp lệ trong khung MVC, như. ban đầu nó là một dự án Web Forms tuyệt vời. Bạn có thể tiếp tục sử dụng một số điều khiển máy chủ Web Forms tích hợp sẵn trong các dự án ASP.NET MVC, cũng như các điều khiển tùy chỉnh mà bạn đã tạo trong các dự án ASP.NET trước đó. (Nhưng bạn không còn có thể dựa vào các khái niệm duy nhất cho Biểu mẫu web, chẳng hạn như trạng thái xem).

Quá trình phát triển và triển khai diễn ra luân phiên. ASP.NET không chỉ được tích hợp chặt chẽ với Visual Studio mà còn được hỗ trợ như một công nghệ lập trình web gốc bởi Internet Information Services (IIS) được cài đặt trong Windows XP, Vista, 7 và các hệ điều hành máy chủ. Sau khi phát hành IIS7, mã được quản lý .NET sẽ là phần gốc của quy trình xử lý yêu cầu của nó, cung cấp hỗ trợ hạng nhất cho nó. Đây cũng là một cách xử lý đặc biệt của ASP.NET. Vì ứng dụng MVC dựa trên lõi nền tảng ASP.NET nên nó cũng sẽ được hưởng những lợi ích này. Trong Chương 23, chúng tôi sẽ giải thích chi tiết cách triển khai ứng dụng MVC trong IIS trên máy chủ Windows.

(6) API hiện đại.

Kể từ khi Microsoft phát hành nền tảng .NET vào năm 2002, nó đã tiếp tục phát triển, hỗ trợ và thậm chí xác định công nghệ lập trình hiện đại tiên tiến nhất.

ASP.NET MVC được xây dựng riêng cho .NET 4.0, vì vậy API của nó tận dụng tất cả lợi ích của ngôn ngữ lập trình và cải tiến thời gian chạy mới nhất, bao gồm các phương thức mở rộng, biểu thức lambda, kiểu gõ ẩn danh và động cũng như Truy vấn tích hợp ngôn ngữ (LINQ). . Các phương thức API và mẫu mã hóa của nhiều khung MVC rõ ràng và mang tính biểu cảm nhất có thể trên các nền tảng trước đó.

(7) ASP.NET MVC là mã nguồn mở.

Không giống như các nền tảng trước đây của Microsoft, bạn có thể tải xuống mã gốc của ASP.NET MVC theo ý muốn và thậm chí sửa đổi và biên dịch lại thành phiên bản của riêng bạn. Mã nguồn mở rất hữu ích khi quá trình gỡ lỗi của bạn đi sâu vào một thành phần hệ thống và bạn muốn xem qua mã của nó (hoặc thậm chí đọc nhận xét của tác giả gốc). Ngoài ra, điều này còn hữu ích nếu bạn muốn xây dựng một thành phần nâng cao hơn để xem điều gì có thể xảy ra hoặc để quan sát cách các thành phần tích hợp sẵn hoạt động.

Đồng thời, nếu bạn không thích cách thực hiện một việc nào đó hoặc bạn tìm thấy một lỗi hoặc bạn muốn truy cập vào thứ gì đó mà không thể truy cập được thì các lợi ích của nguồn mở sẽ rất mạnh mẽ. Bởi vì bạn có thể dễ dàng tự thay đổi nó.

Tuy nhiên, nếu một ngày nào đó bạn nâng cấp framework của mình lên phiên bản mới, bạn sẽ phải lặp lại những thay đổi đã thực hiện và áp dụng lại chúng. ASP.NET MVC được phát hành theo Giấy phép Công cộng của Microsoft (Ms-PL, http://www.opensource.org/licenses/ms-pl.html), giấy phép nguồn mở được Sáng kiến ​​Nguồn Mở phê duyệt. Điều này có nghĩa là bạn có thể sửa đổi mã nguồn và triển khai nó hoặc thậm chí phát hành nó ra công chúng dưới dạng một dự án phái sinh. Tuy nhiên, Microsoft không chấp nhận bất kỳ bản vá nào trên phiên bản chính thức của mình. Ở giai đoạn này, Microsoft chỉ duy trì mã chịu trách nhiệm cho các nhóm đảm bảo chất lượng và phát triển sản phẩm của mình. Bạn có thể tải xuống nguồn MVC từ trang web http://aspnt.codeplex. com/mã.

Liên kết gốc: http://www.cnsendblog.com/?p=128.

Cuối cùng, bài viết thảo luận ngắn gọn về những ưu điểm (bản dịch) của khung MVC kết thúc ở đây. Nếu bạn muốn biết thêm về một cuộc thảo luận ngắn gọn về những ưu điểm (bản dịch) của khung MVC, vui lòng tìm kiếm các bài viết của CFSDN hoặc tiếp tục duyệt. các bài viết liên quan tôi hy vọng tất cả các bạn sẽ ủng hộ blog của tôi trong tương lai! .

29 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress