Thứ 4, 12/4/2024

Thông tin đăng tải trên trang này phục vụ mục đích chia sẻ kiến thức và kinh nghiệm với điều kiện cần ghi rõ nguồn khi sử dụng. Tư vấn GeoViệt khuyến khích quý vị trao đổi kinh nghiệm của mình bằng cách gửi bài cho chúng tôi
Hotline: (024) 62657729 / 0838286123
  • Góc Kỹ thuật
  • |
  • Địa tin học
Các mô hình lập trình trong ASP.NET

(10/01/2014  | Viết bởi Tạ Hải Anh)

Nếu bạn chọn ASP.NET là công nghệ để lập trình Web, bài viết này sẽ giúp bạn hiểu rõ các mô hình để có sự lựa chọn phù hợp.

ASP.NET cung cấp 3 mô hình để phát triển web, gồm:

·         ASP.NET Web Forms

·         ASP.NET Web Pages  

·         ASP.NET MVC

Các mô hình này về cơ bản đều có thể viết trên các ngôn ngữ của .NET (C#, Visual Basic), chạy trên cùng nền tảng ASP.NET nhưng có cấu trúc và mô hình phát triển ứng dụng khác nhau.

ASP.NET Web Forms

Được thiết kế kiến trúc theo mô hình hướng sự kiện (event driven development), cung cấp sẵn nhiều server controls (thực chất là đóng gói JavaScript, CSS, Dom… bên trong) để có thể thiết kế ứng dụng bằng phương pháp kéo thả (Drap & Drop). Các Server Controls được trang bị nhiều phương thức truy xuất dữ liệu hiệu quả (data binding, get, set…)  và được quản lý bằng sơ đồ Control Cycle giúp lập trình viên có thể can thiệp vào các quá trình xử lý chi tiết khác nhau.

Các trang web form (.aspx) được hỗ trợ cơ chế post-back, viewstate… giúp lập trình viên có thể xử lý nhiều thao tác phức tạp trên cùng 1 trang web form.

Tuy nhiên, ASP.NET Web Forms là mô hình tách rời các thành phần của 1 trang web. Việc thiết kế lập trình Server Side, Client Side, Css, Design HTML hoàn toàn độc lập nhau. Điều này khiến nó khó có thể được áp dụng unit-test hoàn toàn. Nó đòi hỏi lập trình viên phải có kiến thức khá tốt về các mảng công nghệ độc lập nhau, rồi xử lý ghép nối lại, nên sẽ là khó khăn lớn với những ai thiếu kinh nghiệm và hiểu kiến trúc không tốt.

ASP.NET MVC

ASP.NET MVC là mô hình theo kiểu test-driven. Tức là, về kiến trúc nó tách bạch các thành phần của ứng dụng (business logic, presentation layer) riêng rẽ. Nó không cung cấp các server control như ASP.NET Web Froms, có nghĩa rằng bạn phải hiểu biết sâu hơn về HTML, Dom, giao thức web... ASP.NET MVC phù hợp cho lập trình viên đã có kinh nghiệm để xây dựng ứng dụng có kiến trúc dễ mở rộng, bảo trì, đặc biệt là dễ dàng kiểm thử bằng unit tests.

ASP.NET Web Pages

ASP.NET Web Pages là mô hình lập trình khá đơn giản. Nó là tập hợp nhiều trang web, phù hợp cho lập trình viên lựa chọn và học lập trình. Sử dụng cú pháp Razor giống MVC nhưng dùng server-side ngay bên trong các trang web, hơn là tách chúng ra thành các lớp điều khiển. Lập trình viên toàn quyền quyết định mã HTML sẽ được sinh ra như thế nào.

ASP.NET Web Pages cũng không có vòng đời của trang như Web Forms, nó chỉ đơn giản là xử lý mã lệnh từ trên xuống dưới thay vì có các sự kiện như pageload hoặc pagerender như bên phía ứng dụng web forms.

(Nguồn: tổng hợp)