Phần mềm Quản lý Online Thiết kê Web chuyên nghiệp Tư vấn Thiết kế Máy tính
 
Đăng ngày: 16/01/2018 

ASP.NET Web Forms Template - Công nghệ lập trình đỉnh cao

Khi nói đến Web Forms, rất nhiều người nghĩ rằng nó có ViewState, DrivenEvents khó kiểm soát. Nhưng có lẽ ít người biết Web Forms hỗ trợ công nghệ lập trình Template rất hiện đại, rất đơn giản và rất linh động mà không dùng tới ViewState, DrivenEvents.

asp-net-webform-template-cong-nghe-lap-trinh-dinh-cao


Lập trình Template là công nghệ lập trình hiện đại mà một số thư viện javascript (như: jQuery, ReactJS, AngularJS...) đang áp dụng, tuy nhiên nó còn rất nhiều hạn chế (như: render phía client nên khó sử dụng cache, làm chậm máy client, khó seo). Có lẽ ít người biết trong ASP.NET Web Forms cũng hỗ trợ cách lập trình này rất đơn giản, trong sáng, tự nhiên, linh động, chạy nhanh và mạnh mẽ hơn mà không cần sử dụng đến các thư viện javascript này.

Chúng ta biết ASP.NET Web Forms là một mô hình lập trình rất hiện đại khi tách biệt được các mã code (HTML, CS, JS và SQL). Giúp người lập trình dễ dàng kiểm soát các code này, dễ kế thừa tái sử dụng, dễ nâng cấp và bảo trì. Giúp người lập trình tự nhiên hơn khi viết code.

Chúng ta có thể dùng ASP.NET Web Forms để xây dựng một Template Control rất đơn giản nhưng rất tự nhiên, linh động và mạnh mẽ như sau:

asp-net-webform-template-cong-nghe-lap-trinh-dinh-cao


Nó có thể dùng để view bản tin (news):

asp-net-webform-template-cong-nghe-lap-trinh-dinh-cao


Có thể dùng để view sản phẩm (product):

asp-net-webform-template-cong-nghe-lap-trinh-dinh-cao


Cũng có thể xuất ra định dạng json (một định dạng khá phổ biến hiện nay):

asp-net-webform-template-cong-nghe-lap-trinh-dinh-cao


Cũng có thể tạo ra form nhập liệu:

asp-net-webform-template-cong-nghe-lap-trinh-dinh-cao


Có thể tạo một slideshow hình ảnh khá đơn giản:

asp-net-webform-template-cong-nghe-lap-trinh-dinh-cao


Cũng có thể xuất ra định dạng xml:

asp-net-webform-template-cong-nghe-lap-trinh-dinh-cao


Và có thể dùng Template Control để làm một layout khá đơn giản:

asp-net-webform-template-cong-nghe-lap-trinh-dinh-cao


Tuy được sử dụng đơn giản và linh động cho rất nhiều mục đích, nhưng code behind (c#) rất đơn giản. Chỉ có mấy dòng code mà có thể xử lý mọi nghiệp vụ khác nhau.

asp-net-webform-template-cong-nghe-lap-trinh-dinh-cao


Template Control sẽ tự động binding data theo cấu trúc khá đơn giản như dưới đây mà không cần thêm bất kỳ dòng code nào. Nó sẽ dựa vào httpContext, menu_urlmenu_data để xác định data cần xử lý.

asp-net-webform-template-cong-nghe-lap-trinh-dinh-cao


Như trên chúng ta thấy rỏ, các mã (HTML, C#, SQL) hoàn toàn tách biệt nhau. Chúng ta có thể lập trình độc lập mà không sợ đụng nhau (Khi sửa C# cũng không cần quan tâm đến HTML hay SQL và ngược lại). Chúng ta kiểm soát hoàn toàn mã code mà không lo hệ thống phát sinh mã lung tung không như ý muốn. Chúng ta cũng có thể test rất dễ dàng. Code được xử lý theo khối (block) nên chạy rất nhanh và ít sử dụng tài nguyên máy chủ. Chúng ta toàn quyền kiểm soát cache giúp hệ thống chạy rất nhanh. Mã code cũng rất tự nhiên nên dễ kiểm soát lỗi và quản lý code. Và đặc biệt là dễ kế thừa tái sử dụng, dễ nâng cấp bảo trì, đó là những yếu tố sống còn trong phát triển phần mềm.


Công nghệ lập trình Template đã loại bỏ tất cả các điểm yếu (ViewState, SessionState, DrivenEvents, PostBack, PageLifeCycle, MasterPage...) của Web Forms và phát huy tất cả các điểm mạnh (simple, clear, native, flexible, performance, powerful...) của nó. Giúp Web Forms trở thành công nghệ lập trình độc đáo nhất trong các công nghệ lập trình hiện có.


Công ty KhaLa đã áp dụng công nghệ này hơn 10 năm và rút ngắn được thời gian làm dự án từ 2 tháng -> 2 ngày. Tuy dùng VPS (Virtual Private Server) có cấu hình rất thấp (2 Cores, 3GB RAM) nhưng vẫn có thể cài cả trăm apps chạy rất nhanh (response time < 100 ms) và có thể đáp ứng hàng trăm ngàn requests cùng lúc. Cùng khả năng nâng cấp (thêm sửa xoá chức năng, nghiệp vụ...) rất đơn giản và nhanh chóng mà không cần sửa code, không cần restart app, không làm gián đoạn hệ thống đang chạy.


Mong sao Microsoft sớm có bản nâng cấp Web Forms và tích hợp vào .Net Core để có thêm ưu điểm chạy được trên nhiều hệ thống (cross platform). Và tất nhiên nên bỏ hết những yếu điểm trên và bỏ luôn chữ "runat" cho code được đơn giản và rõ ràng hơn.


Trên đây chỉ là ví dụ cơ bản, còn trong thực tế còn nhiều chức năng rất độc đáo nữa.


Cám ơn mọi người đã dành thời gian để đọc bài viết này!

Tác giả: Lê Văn Khánh
Nguồn:Tài liệu chia sẻ kinh nghiệm Công ty Tin học KhaLa




 Những bài liên quan Trở lại
 ASP.NET Web Forms - Mô hình lập trình rất hiện đại dần bị lãng quên

Web Forms là mô hình lập trình rất hiện đại, đơn giản, rỏ ràng, linh động, hoạt động độc lập, không còn trộn code… Là một trong những công nghệ độc đáo của Microsoft dưới thời Bill Gates, nhưng gần đây nó dần bị lãng quên thật đáng tiếc.

 Cách chọn mua máy tính phù hợp

Hiện nay, rất nhiều người mắc sai lầm khi chọn mua máy tính. Trong phạm vi bài này, chúng tôi xin gửi đến quý khách cách chọn mua máy tính như thế nào cho phù hợp với nhu cầu của mình.

 Seagate ra ổ cứng tốc độ "siêu nhanh" cho doanh nghiệp

Ổ cứng lai Enterprise Turbo SSHD của Seagate cho phép đạt tốc độ đọc, ghi ngẫu nhiên nhanh gấp 3 lần so với các ổ cứng thông thường nhưng giá thành chỉ tương đương ổ cứng HDD.

 Ngân sách cho CNTT sẽ không ít hơn 2% mỗi năm

Dự thảo Nghị quyết của Bộ Chính trị về công nghệ thông tin nêu rõ “bảo đảm chi tỷ lệ ngân sách nhà nước cho công nghệ thông tin tương xứng với yêu cầu phát triển, tiến tới mức tương đương với các nước có điều kiện tương đồng trong khu vực và không ít hơn 2% chi ngân sách hàng năm.”

 Quảng cáo online theo ngữ cảnh "đe dọa" quảng cáo truyền thống

Với thế mạnh cho phép doanh nghiệp tiếp cận “sát” đối tượng cần quảng cáo, tiết kiệm chi phí, theo dõi lượng click theo từng phút…, quảng cáo theo ngữ cảnh trên website đang được nhiều khách hàng sử dụng, “đe dọa” trực tiếp đến loại hình truyền thống như banner.


Thông tin liên hệ

Công ty Tin học KhaLa

ĐC: 13/6 Đường số 11, KP2, Phường Trường Thọ, Quận Thủ Đức, TPHCM

ĐT: 028 35 030 482 / Fax: 028 35 030 482

Email: info@khala.com.vn

Copyright © 2018 KhaLa. All rights reserved.

Developed by KhaLa

Chúng tôi trên các kênh

Online: online | Visitor: visitor
 
09 08 757 858