Tìm hiểu về ABP Framework, một framework mã nguồn mở trên .NET
Gần đây, chúng ta bắt đầu nghe nhiều đến một framework mà các doanh nghiệp dùng rất nhiều để phát triển ứng dụng Web. Đó không ai khác chính là ABP Framework, một framework ở mức hạ tầng hoàn chỉnh.
Có rất nhiều framework có 2 mức độ khác nhau bao gồm:
1. Mức ứng dụng: Nó cung cấp cả phần UI và hạ tầng truy cập dữ liệu ví dụ WordPress, CMS. Các framework mức độ này chứa luôn cả business có sẵn và có thể tùy chỉnh được.
2. Mức hạ tầng: Cung cấp các thư viện hạ tầng, cấu trúc source code và tài liệu để nhà phát triển tuân theo và xây dựng bussiness trên đó.
ABP Framework là một framework mức độ 2, tức là nó không chứa business mà chỉ chứa hạ tầng giúp lập trình viên sử dụng một cách dễ dàng nhất, đồng thời tự xây dựng business từ đầu trên đó. ABP Framework được xây dựng trên nền tảng .NET (trước đây là .NET Core) và hiện tại tương thích với .NET 6. Ngoài ra ABP Framework cũng có hỗ trợ sẵn trên cả Angular và React Native.
Các thư viện hạ tầng của ABP Framework được trải từ Database (các table sẵn có) và Backend đến Frontend. Nó cũng tuân theo các best practice trong triển khai phát triển phần mềm như:
- Clean Architecture: Một cách thiết kế tách logic nghiệp vụ ứng dụng và phần tương tác IO
- Dependency Injection: Một design pattern giúp giảm sự phụ thuộc giữa các thành phần.
- Repository & Unit Of Work Pattern: Một cặp design pattern giúp tách biệt hóa phần logic và phần truy cập dữ liệu và đảm bảo nhất quán dữ liệu trong giao dịch.
- Modular: Một cách thiết kế chia ứng dụng ra nhiều module
- Domain Driven Design: Một tư duy mới tập trung vào nghiệp vụ.
ABP Framework làm được những gì?

Khi sử dụng ABP Framework các bạn thường muốn biết nó làm được những gì? Vậy thì đây là câu trả lời cho bạn:
Tương thích Microservice
Cho phép xây dựng ứng dụng tương thích kiến trúc Microservice


Kiến trúc modular
Chia tách ứng dụng ra thành nhiêu module riêng biệt có thể sử dụng lại
Domain Driven Design
Thiết kế theo tư duy của Domain Driven Design, thay vì tập trung vào data thì tập trung vào domain business. Một tư duy khá mới trong phát triển phần mềm.

Hỗ trợ Multitenant
ABP cũng hỗ trợ ứng dụng multi-tenant, một dạng ứng dụng cho phép nhiều tổ chức cùng sử dụng một nền tảng mà dữ liệu độc lập với nhau.

Ngoài ra nó cũng hỗ trợ các tính năng bên dưới như:
- Đa ngôn ngữ
- Virual file system
- Audit log
- Blog storing
- Text template
- Mapping Object
- Phân quyền
- Quản lý setting
- Authentication and authorization
Để tạo mới ứng dụng sử dụng ABP các bạn có thể truy cập: https://abp.io/get-started

Tác giả: Bạch Ngọc Toàn
Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.
Bài viết liên quan
Xây dựng menu đa cấp với ASP.NET Core MVC
Cách xây dựng menu đa cấp sử dụng đệ quy trong ASP.NET Core MVC
Đọc thêm
Tìm lỗi ứng dụng ASP.NET Core trên Windows Server sử dụng stdout log
Một số lỗi trong lúc khởi động hệ thống ASP.NET Core trên Windows Server mà chúng ta chưa rõ nguyên nhân tại sao ứng dụng không hoạt động. Vậy bạn có thể dùng đểns stdout để chẩn đoán lỗi.
Đọc thêmVòng đời của Dependency Injection: Transient, Singleton và Scoped
Hiểu về vòng đời của các service được tạo sử dụng Dependency Injection là rất quan trọng trước khi sử dụng chúng.
Đọc thêm
Cơ chế Dependency Injection trong ASP.NET Core
Dependency Injection giờ đã trở thành thành phần chính thức mặc định của ASP.NET Core.
Đọc thêm
Unobtrusive Client Validation trong ASP.NET Corre
Trong bài viết này chúng ta sẽ thực hiện validation phía client sử dụng Javascript.
Đọc thêm
Validation Tag Helper trong ASP.NET Core
ASP.NET cung cấp các tag helper liên quan đến hiển thị validation message cho người dùng.
Đọc thêm
Model Validation trong ASP.NET Core
Bài viết này chúng ta sẽ học về cơ chế Model Validation.
Đọc thêm
Cơ chế Model Binding: Truyền dữ liệu từ View lên Controller
Trong cơ chế Model Binding của ASP.NET Core chúng ta sẽ học cách làm sao để truyền dữ liệu từ View lên Controller.
Đọc thêm
Environment Tag Helper trong ASP.NET Core
Environment tag helper hỗ trợ tạo ra các nội dung phụ thuộc vào biến quy định môi trường trong ASP.NET Core.
Đọc thêm
Input Tag Helper trong ASP.NET Core
Input Tag Helper tạo ra phần tử HTML tương ứng với thuộc tính của Model là input.
Đọc thêm