1.What is MVC?

Trước tiên mình nên tìm hiểu về cấu trúc MVC, MVC là gì?

MVC là viết tắt của Model, View và Controller. MVC tách ứng dụng thành ba thành phần

Model: Chịu trách nhiệm duy trì dữ liệu ứng dụng và logic nghiệp vụ.

View: Giao diện người dùng của ứng dụng, nơi hiển thị dữ liệu.

Contronler: Xử lý các yêu cầu của người dùng và hiển thị giao diện thích hợp (View) với dữ liệu model.

 

 Có thể nói mô hình MVC : Mẫu thiết kế MVC đã có từ vài thập kỷ và nó đã được sử dụng trên nhiều công nghệ khác nhau và hiện tại MVC áp dụng cho cả code Front end.

 

2.  What is ASP.NET Core MVC là gì có khác gì ko ?

Mô hình ASP.NET Core MVC là một khung trình bày mã nguồn mở, nhẹ, có khả năng kiểm tra cao, được tối ưu hóa để sử dụng với ASP.NET Core.

Nó cung cấp một cách dựa trên các mẫu để xây dựng các trang web động cho phép tách biệt rõ ràng các mối quan tâm.

Nó cung cấp cho bạn toàn quyền kiểm soát việc đánh dấu, hỗ trợ phát triển thân thiện với TDD và sử dụng các tiêu chuẩn web mới nhất.

 

3. các đặc trưng của ASP.NET Core MVC 

 

Routing - Định tuyến: Một thành phần ánh xạ URL mạnh mẽ cho phép bạn tạo các ứng dụng có URL dễ hiểu và có thể tìm kiếm được.

Model binding - Liên kết mô hình: Chuyển đổi dữ liệu yêu cầu của khách hàng thành các đối tượng mà bộ điều khiển có thể xử lý.

Model validation - Xác thực mô hình: Hỗ trợ xác thực, kiểm tra kiểu dữ liệu các kiểu  bằng cách trang trí đối tượng mô hình của bạn với các thuộc tính xác thực chú thích dữ liệu.

Dependency Injection (DI): Hỗ trợ tích hợp để chèn phụ thuộc (cái này khó dịch ra Tiếng Việt -  Gọi là Dependency Injection ) , bộ điều khiển có thể yêu cầu các dịch vụ cần thiết thông qua các hàm tạo của chúng, cho phép chúng tuân theo Nguyên tắc Phụ thuộc Rõ ràng.

Filters - Bộ lọc: Đóng gói các mối quan tâm xuyên suốt, như xử lý ngoại lệ hoặc ủy quyền.

Areas: Cung cấp cách phân vùng một ứng dụng Web ASP.NET Core MVC lớn thành các nhóm chức năng nhỏ hơn. Ví dụ:  Areas Dành cho Admin, dành cho các phòng ban sử dụng hệ thống website trong công ty.

Web APIs : Hỗ trợ xây dựng các API Web và bạn có thể xây dựng các dịch vụ tiếp cận nhiều loại khách hàng bao gồm cả trình duyệt và thiết bị di động.

Này rất phù hợp để xây dựng hệ thống tách biệt giữa Front End và Backend mở rộng lên các app

Testability - Khả năng kiểm tra: Việc sử dụng các giao diện và chèn phụ thuộc của khung làm cho nó rất phù hợp với kiểm thử đơn vị.

Razor view engine - Công cụ chế độ xem Razor: Razor là một ngôn ngữ đánh dấu mẫu nhỏ gọn, biểu cảm và linh hoạt để xác định các chế độ xem bằng cách sử dụng mã C # được nhúng.

Strongly typed views - Lượt xem được đánh máy mạnh: Lượt xem dao cạo trong MVC có thể được nhập mạnh dựa trên mô hình của bạn.

Tag Helpers- Trình trợ giúp thẻ: Cho phép mã phía máy chủ tham gia vào việc tạo và hiển thị các phần tử HTML trong tệp Razor. Các thẻ tag mới giúp code bạn nhanh hơn gọn gàn hơn 

View Components : Phương thức SetCompatibilityVersion cho phép ứng dụng chọn tham gia hoặc chọn không tham gia hoặc chọn không tham gia các thay đổi hành vi có khả năng phá vỡ được giới thiệu trong ASP.NET Core MVC 2.1 trở lên.

 

4.What is Entity Framework Core?

Entity Framework (EF) Core là phiên bản nhẹ gọi là rút gọn cho nó sang tí, có thể mở rộng, mã nguồn mở và đa nền tảng của công nghệ truy cập dữ liệu Entity Framework phổ biến.

EF Core có thể đóng vai trò là trình ánh xạ quan hệ đối tượng (ORM), cho phép các nhà phát triển .NET làm việc với cơ sở dữ liệu sử dụng các đối tượng .NET.

Nó loại bỏ sự cần thiết của hầu hết các nhà phát triển mã truy cập dữ liệu thường cần phải viết.

Nó được thiết kế để sử dụng với các ứng dụng .NET Core, nhưng nó cũng có thể được sử dụng với các ứng dụng dựa trên khuôn khổ .NET 4.5+ tiêu chuẩn.

Với EF core mình có thể tương tác với các hệ thống quản lý dữ liệu khác nhau như MS SQL, Oracle, Mongo DB, My SQL

Và phiên bản hiện tại là EF Core 6.0

Mời bạn xem tiếp bài thứ 2: