Chuyển đến nội dung chính

Tìm hiểu về ASP.NET MVC

Trong bài viết này, tôi sẽ giới thiệu về mô hình MVC trong ASP.NET. Trước khi giới thiệu về mô hình MVC và việc ứng dụng nó vào trong ASP.NET thế nào, chúng ta có lẽ nên tìm hiểu 1 ít về Web Forms.

Web Forms

Khi ASP.NET 1.0 ra đời năm 2002, mọi người thường dễ nhằm lẫn ASP.NET và Web Forms là một và chúng giống nhau. ASP.NET luôn hỗ trợ 2 lớp trừu tượng: System.Web.UI: Lớp Web Forms bao gồm server controls, ViewState… System.Web: hỗ trợ nhiều class và interface cho phép nhiều browser-server giao tiếp với nhau. Nó bao gồm: modules, handlers, HTTP Stack,…
The ASP.NET Web Forms technology stack

Với Web Forms, Microsoft đã cố gắng làm ẩn đi HTTP và HTML bằng cách lập mô hình user interface (UI) với sự phân tầng của các đối tượng server controls. Mỗi control sẽ giữ trạng thái của riêng nó qua mỗi lần request (sử dụng chức năng ViewState), tự hiển thị HTML khi cần thiết và tự động kết nối với các sự kiện bên client (ví dụ như ButtonClick) tương ứng với sự kiện điều khiển bên server. WebForm được thiết kế 1 lớp trừu tượng khổng lồ để phân phối a classic event-driven graphical user interface (GUI) on the web.
Ý tưởng để làm cảm thấy việc phát triển web tương tự như việc phát triển Windows Forms. Lập trình viên không cần bỏ nhiều thời gian để thực hiện hàng loạt các thao tác HTTP request và response. Việc thiết kế thông qua thao tác kéo thả và làm cho bạn có cảm tưởng mọi thứ đều xảy ra ở server.
Tuy nhiên,Web Forms cũng có những hạn chế của nó. Việc ẩn đi các thao tác cơ bản của web và phụ thuộc vào các control sẽ khiến bạn không thể phát triển control theo ý muốn. Và 1 điều tồi tệ hơn nữa, là khi bạn cần 1 chức năng nào đó hơi “đặc biệt” cho control đang được sử dụng, mà Microsoft chưa hỗ trợ, chắc rằng việc viết lại code sẽ tốn rất nhiều thời gian.

Mô hình MVC 

MVC là viết tắt của 3 chữ Model-View-Controller. Đây là mô hình kiến trúc quan trọng trong khoa học máy tính, được ra đời cách đây nhiều năm. Năm 1979, nó có tên ban đầu là Thing-Model-View-Editor, và sau này gọi lại với cái tên đơn giản hơn là Model-View-Controller.
MVC là 1 kiến trúc đơn giản chia giao diện người dùng ra làm 3 thành phần chính:
  • Model: tập hợp các class mô tả dữ liệu bạn đang làm việc và các quy tắc business cho việc thao tác và thay đổi dữ liệu. 
  • View: định nghĩa giao diện người dùng sẽ hiển thị như thế nào. 
  • Controller: là tầng trung gian giữa Model và View, là thành phần dùng để quản lý tương tác với người dùng, luồng ứng dụng tổng thể và các logic ứng dụng cụ thể. 
Khi người sử dụng nhập địa chỉ URL trong ứng dụng ASP.NET MVC, controller, model và view sẽ xử lý request và trả về trang Html cho người dùng.
Sự tương tác giữa browser và server

Lưu ý: MVC là 1 design pattern để xử lý phía giao diện người dùng. Điều này có nghĩa, trong 1 ứng dụng, gồm có nhiều phần như data access, business, service… bạn phải sử dụng các mẫu design pattern khác hoặc cách xử lý nào đó khác.

Nhận xét

Bài đăng phổ biến từ blog này

[ASP.NET MVC] Authentication và Authorize

Một trong những vấn đề bảo mật cơ bản nhất là đảm bảo những người dùng hợp lệ truy cập vào hệ thống. ASP.NET đưa ra 2 khái niệm: Authentication và Authorize Authentication xác nhận bạn là ai. Ví dụ: Bạn có thể đăng nhập vào hệ thống bằng username và password hoặc bằng ssh. Authorization xác nhận những gì bạn có thể làm. Ví dụ: Bạn được phép truy cập vào website, đăng thông tin lên diễn đàn nhưng bạn không được phép truy cập vào trang mod và admin.

ASP.NET MVC: Cơ bản về Validation

Validation (chứng thực) là một tính năng quan trọng trong ASP.NET MVC và được phát triển trong một thời gian dài. Validation vắng mặt trong phiên bản đầu tiên của asp.net mvc và thật khó để tích hợp 1 framework validation của một bên thứ 3 vì không có khả năng mở rộng. ASP.NET MVC2 đã hỗ trợ framework validation do Microsoft phát triển, tên là Data Annotations. Và trong phiên bản 3, framework validation đã hỗ trợ tốt hơn việc xác thực phía máy khách, và đây là một xu hướng của việc phát triển ứng dụng web ngày nay.

Tổng hợp một số kiến thức lập trình về Amibroker

Giới thiệu về Amibroker Amibroker theo developer Tomasz Janeczko được xây dựng dựa trên ngôn ngữ C. Vì vậy bộ code Amibroker Formula Language sử dụng có syntax khá tương đồng với C, ví dụ như câu lệnh #include để import hay cách gói các object, hàm trong các block {} và kết thúc câu lệnh bằng dấu “;”. AFL trong Amibroker là ngôn ngữ xử lý mảng (an array processing language). Nó hoạt động dựa trên các mảng (các dòng/vector) số liệu, khá giống với cách hoạt động của spreadsheet trên excel.