Phân tích ưu khuyết điểm của mô hình code asp.net, code behind và MVC

Chào mọi người, em có một câu hỏi được giáo viên cho về nhà làm: phân tích ưu khuyết điểm của mô hình code asp.net : code behind và MVC.
Em có dựa trên kiến thức bản thân và tham khảo google thì tích được 1 số ý như sau:
Mô hình MVC:
Ưu điểm:

  • Cho thấy sự chuyên nghiệp trong LTHĐT vì được chia thành các thành phần riêng biệt nên hoạt động độc lập, tách biệt và cung cấp tự động tối thiểu là 3 lớp giúp phát triển ứng dụng nhanh hơn, đơn giản hơn, dễ nâng cấp và bảo trì hơn.
  • Chúng ta có thể tận dụng sự kế thừa, đa hình và đóng gói khi viết các ứng dụng web trong khi vẫn duy trì kiến trúc n-tier.
  • Quá trình phát triển nhanh hơn: MVC hỗ trợ phát triển nhanh và song song do việc MVC tách biệt và làm giảm độ phức tập của cấu trúc dự án. Với MVC, một lập trình viên có thể làm việc trên View trong khi người khác có thể làm việc trên controller để tạo logic nghiệp vụ của ứng dụng web.
  • Khả năng cung cấp nhiều chế độ View: Trong Mô hình MVC, bạn có thể tạo nhiều chế độ view cho một mô hình. Sao chép code rất hạn chế trong MVC vì nó tách dữ liệu và logic nghiệp vụ khỏi màn hình.
  • Hỗ trợ cho kỹ thuật không đồng bộ (asynchronous): MVC cũng hỗ trợ kỹ thuật không đồng bộ, giúp các nhà phát triển phát triển một ứng dụng load rất nhanh.
  • Sửa đổi không ảnh hưởng đến toàn bộ mô hình: Sửa đổi không ảnh hưởng đến toàn bộ mô hình vì phần mô hình không phụ thuộc vào phần View. Do đó, mọi thay đổi trong Mô hình sẽ không ảnh hưởng đến toàn bộ kiến trúc.
  • Mô hình MVC trả về dữ liệu mà không cần định dạng: Mô hình MVC trả về dữ liệu mà không áp dụng bất kỳ định dạng nào để các thành phần tương tự có thể được sử dụng và được gọi để sử dụng với bất kỳ giao diện nào.
  • Nền tảng phát triển thân thiện với SEO: Sử dụng nền tảng này, rất dễ dàng để phát triển các URL thân thiện với SEO để tạo ra nhiều lượt truy cập hơn từ một ứng dụng cụ thể.
    Khuyết điểm:
  • Các trang web ASP.Net MVC đòi hỏi nhiều thời gian hơn để phát triển so với mô hình code-behind.
  • Khó sử dụng MVC với giao diện người dùng hiện đại.
  • Cần nhiều lập trình viên.
  • Kiến thức về nhiều công nghệ là bắt buộc.
  • Nhà phát triển phải có kiến thức về code phía client và html.

Mô hình Code Behind:
Ưu điểm:

  • Chúng ta có thể tận dụng sự kế thừa, đa hình và đóng gói khi viết các ứng dụng web trong khi vẫn duy trì kiến trúc n-tier.
  • Code behind giúp việc thực thi hệ thống rõ ràng do nó cho phép LTV chia màn hình UI khỏi quá trình xử lý UI. Các đoạn code trong aspx phục vụ cụ thể cho màn hình giúp dễ dàng hơn trong việc sử dụng lại code trong code-behind file.
  • Không có cấu trúc dự án được xác định trước như MVC để tạo một ứng dụng dựa trên mẫu web.
  • Làm cho code dễ hiểu và debug bằng cách tách logic ứng dụng khỏi các thẻ HTML

Khuyết điểm:

  • ASP.NET Web Form là một công nghệ phía máy chủ. Không có gì xảy ra ở phía khách hàng. Mọi thứ của trang được tạo trên máy chủ, tức là trang HTML được gửi tới máy khách được tạo hoàn toàn ở phía máy chủ. Ta có một trang ASPX tạo ra UI & ASPX.CS, được gọi là code-behind. Vì vậy, bất cứ điều gì bạn cần làm liên quan đến UI của bạn đều phải xảy ra trong code-behind. Code-behind được sử dụng sẽ ngày càng phức tạp, phình to và lộn xộn vì mọi người sẽ viết tất cả các loại logic cho các trang của họ trong code-behind.
  • Rất khó để có 2 nhà phát triển khác nhau làm việc trên một phần (một trên aspx và một code behind) tại cùng một thời điểm do Code-behind được kết hợp chặt chẽ với giao diện người dùng, MVC thì được.

Anh/chị/bạn nào có kinh nghiệm làm việc với 2 công nghệ này cho em hỏi còn những ý nào khác không ạ? với lại so sánh giữa code behind và MVC có nên không ạ do em nghĩ là so sánh Webform với MVC thì hợp lý hơn.
Em xin cảm ơn ạ!

Theo yêu cầu

1 Like
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?