Thứ Hai, 17 tháng 10, 2016

MVC Model: Xây dựng chương trình MVC5 - CRUD Product

  Không có nhận xét nào

MVC Model "trông như thế nào" ?


MVC là viết tắt của Model – View – Controller. Là một kiến trúc phần mềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm. Nói cho dễ hiểu, nó là mô hình phân bố source code thành 3 phần, mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác nhau.


Trong đó:
Models: Các đối tượng Models là một phần của ứng dụng, các đối tượng này thiết lập logic của phần dữ liệu của ứng dụng. Thông thường, các đối tượng model lấy và lưu trạng thái của model trong CSDL. Ví dụ như, một đối tượng Product (sản phẩm) sẽ lấy dữ liệu từ CSDL, thao tác trên dữ liệu và sẽ cập nhật dữ liệu trở lại vào bảng Products ở SQL Server.

Views: Views là các thành phần dùng để hiển thị giao diện người dùng (UI). Thông thường, view được tạo dựa vào thông tin dữ liệu model. Ví dụ như, view dùng để cập nhật bảng Products sẽ hiển thị các hộp văn bản, drop-down list, và các check box dựa trên trạng thái hiện tại của một đối tượng Product.

Controllers: Controller là các thành phần dùng để quản lý tương tác người dùng, làm việc với model và chọn view để hiển thị giao diện người dùng. Trong một ứng dụng MVC, view chỉ được dùng để hiển thị thông tin, controller chịu trách nhiệm quản lý và đáp trả nội dung người dùng nhập và tương tác với người dùng. Ví dụ, controller sẽ quản lý các dữ liệu người dùng gởi lên (query-string values) và gởi các giá trị đó đến model, model sẽ lấy dữ liệu từ CSDL nhờ vào các giá trị này.

Tại sao lại dùng nó?

Sự nhập nhằng giữa giao diện và code trong các ngôn ngữ lập trình Scripting như JSP, PHP, ASP làm cho code chương trình khó hiểu và khó bảo trì và khó hình dung trong quá trình cài đặt hệ thống từ góc nhìn thiết kế. Từ đó MVC ra đời với mục tiêu khắc phục những vấn đề đó. Bạn sẽ thấy rõ hơn trong các phần tiếp theo khi chúng ta tiến hành áp dụng MVC để xây dựng ứng dụng.

MVC có thể dùng trên Desktop, tuy nhiên trên mô hình ứng dụng Web thì ưu điểm của nó mới được thể hiện rõ ràng hơn.

Nó làm việc ra sao?

Chắc dựa vào hình ảnh ở đầu bài bạn cũng phần nào hình dung ra rồi, cụ thể nó là:
- User tương tác với View, bằng cách click vào button, link,.. user gửi yêu cầu đi..
- Controller nhận và điều hướng chúng đến đúng phương thức xử lý ở Model.
- Model nhận thông tin và thực thi các yêu cầu, tương tác với database.
- Khi Model hoàn tất việc xử lý, View sẽ nhận kết quả từ Model và hiển thị lại cho người dùng.

Xây dựng ứng dụng MVC5 - CRUD Product


Nói lý thuyết suông hoài chắc cũng nản, ta quay ra code thư giãn nhé :)))

Bài này thì mình sẽ không có code mẫu, hay ảnh chụp màn hình nữa.. vì nó quá dài về mặt thao tác (chứ code chả đáng bao). Các bạn chịu khó tự xem tự làm theo video hướng dẫn của thầy Nguyễn Tuân nhé :)


Bài trên là sử dụng ASP.NET MVC, có nó là cái gì thì làm xong đi rồi ta quay lại lý thuyết ở dưới :)

ASP.NET MVC là gì?


ASP.NET là một nền tảng ứng dụng web (web application framework) được phát triển và cung cấp bởi Microsoft, cho phép những người lập trình tạo ra những trang web động, những ứng dụng web và những dịch vụ web.

ASP.NET MVC là một framework tuyệt vời hỗ trợ pattern MVC cho ASP.NET. Nền tảng ASP.NET MVC giúp cho chúng ta có thể tạo được các ứng dụng web áp dụng mô hình MVC thay vì tạo ứng dụng theo mẫu ASP.NET Web Forsm. Nền tảng ASP.NET MVC có đặc điểm nổi bật là nhẹ (lighweigt), dễ kiểm thử phần giao diện (so với ứng dụng Web Forms), tích hợp các tính năng có sẵn của ASP.NET.

Tạo sao nên dùng ASP.NET MVC?

Bạn nên sử dụng ASP.NET MVC framework cho việc tạo ra các ứng dụng web vì những lý do được liệt kê sau đây:

SoC
Một trong những lợi ích chính được đưa ra bởi ASP.NET MVC đó là Separation of Concern (phân tách mối bận tâm). Framework này cung cấp sự phân tách rất rõ gàng giữa model, logic nghiệp vụ, giao diện người dùng và dữ liệu.

Control
Khi bạn sử dụng framework ASP.NET MVC, bạn được cung cấp một bộ control rất mạnh mẽ trên JavaScript, HTML và CSS so với các control được cung cấp bởi một số hình thức truyền thống trên web.

Có khả năng kiểm thử
Học lập trình web trực tuyến bằng ASP.NET MVCFramework ASP.NET MVC hỗ trợ việc kiểm thử các ứng dụng web rất tốt. Vì vậy, nếu bạn muốn kiểm thử ứng dụng web của mình trước khi đưa chúng cho người sử dụng, bạn có thể chỉ cần sử dụng ASP.NET MVC.

Gọn nhẹ
Framework này không sử dụng View State, hỗ trợ bạn trong việc làm giảm băng thông của các request rất nhiều. Nhiều chuyên gia khuyên bạn nên sử dụng framework này nếu bạn quan tâm đến việc tạo ra các ứng dụng MVC tuyệt vời và hữu ích dựa trên web.

View và Size của Control
Các framework ASP.NET thường phải đối mặt với vấn đề của view state và kích thước của control trong HTML. Phần view lưu toàn bộ dữ liệu đã được rendered và do đó kích thước các tập tin HTML trở nên lớn hơn. Nếu bạn sử dụng một đường kết nối internet chậm, bạn sẽ quan sát thấy độ trễ trong việc tải các trang web và ứng dụng. Vấn đề này không còn tồn tại trong framework ASP.NET MVC cũng như nó không chứa một khái niệm về view ở trong đó. Bằng cách sử dụng ASP.NET MVC, bạn sẽ không còn phải đối mặt với các vấn đề về thời gian tải trang nữa.

Tích hợp
Khi bạn tích hợp MVC với jQuery, bạn có thể viết code của mình chạy trong các trình duyệt web. Điều này sẽ giúp giảm tải cho các web server của bạn.

Khả năng sử dụng
Bạn không cần phải có nhiều kiến ​​thức kỹ thuật khi sử dụng framework ASP.NET MVC. Tuy nhiên, bạn sẽ thích nó sau khi học được cách làm cho nó hoạt động. Framework này tốt hơn rất nhiều so với nhiều hình thức trang web khác. Lý do là nó hoạt động khá gần với các chiến lược làm việc của web và được coi là khá dễ dàng và thú vị để sử dụng.

API Services
Một lợi thế lớn khác đó là việc rendered bởi MVC giúp bổ sung thêm các API web services. Nếu bạn muốn thêm các service tới ứng dụng web của mình, thì bạn chắc chắn cần phải tìm hiểu làm thế nào những service này hoạt động.


Tài liệu tham khảo


Có lẽ không tài liệu nào đầy đủ và hoàn thiện hơn là người đã tạo ra nó :)))
- Learn About ASP.NET MVC - Microsoft
- Introduction to ASP.NET MVC - Microsoft visual academy

Không có nhận xét nào :

Đăng nhận xét