Trang chủ / ASP.NET Core / Generic Repository Pattern là gì ? Cách sử dụng trong ASP.NET Core

Generic Repository Pattern là gì ? Cách sử dụng trong ASP.NET Core

Cũng đã gần 3 tháng mình mới viết bài mới. 3 tháng trước mình đã nói về Repository Pattern, mình tin tưởng bạn đã có những hình dung cơ bản về Repository Pattern. Ở bài này mình sẽ nói về Generic Repository Pattern, một mẫu lý tưởng giúp bạn tối ưu nhiều vấn đề trong đó có các đoạn mã của bạn, và sau đó mình sẽ hướng dẫn các bạn sử dụng Generic Repository Pattern trong ASP.NET Core.

I. Generic Repository Pattern là gì ?

1. Định nghĩa Generic Repository Pattern

Nếu như bạn có một dự án và bạn nhận thấy mỗi repository đều thực hiện những hành động tương tự hoặc gần tương tự nhau, nếu bạn tạo liên tiếp nhiều repository gần giống nhau đó sẽ là một sự lãng phí lớn. Thay vào đó. bạn chỉ cần tạo một và chỉ một repository cho việc thao tác với toàn bộ các class entity là đủ. Và đó chính là Generic Repository Pattern.

2. Lợi ích khi sử dụng Generic Repositoty Pattern

  • Giảm thiểu được sự trùng lập các đoạn code của bạn
  • Đảm bảo các coder dùng chung một mẫu
  • Dễ dàng cho việc bảo trì và kiểm thử
  • Giảm thiểu các lỗi có thể xảy ra

II. Làm thế nào để sử dụng Generic Repository Pattern trong ASP.NET Core

Ở đây mình sẽ làm một ví dụ đơn giản về một phòng ban. Mình sẽ sử dụng Dependency Injection framework và Entity Framework Core để hướng dẫn các bạn. Bây giờ tiến hành làm thôi:

1. Tạo model cần thiết

Tạo một class gọi là “BaseEntity” để tất cả các class khác có thể kế thừa các thuộc tính của nó:

Bây giờ ta tạo một class “PhongBan” chỉ đơn giản gồm 2 thuộc tính là mã phòng ban và tên phòng ban

 

2. Tạo Generic Repository

Bây giờ tiến hành tạo một interface có tên là IGenericRepository. Interface này sẽ có các phương thức Get, GetAll, Add, Update và Delete

Và tiến hành hiện thực nó thôi:

3. Sử dụng Generic Repository

Bây giờ tiến hành tạo một controller có tên là PhongBansController có nội dung như sau:

Các view của controller này các bạn tự tạo nhé.

III. Kết luận

Vì đây là ví dụ đơn giản, mục tiêu của mình là hướng dẫn các bạn cài đặt Generic Repository mà thôi, nên có thể bạn sẽ không hiểu hết được khả năng của nó, vì nếu dùng một ví dụ đầy đủ hơn sẽ rất là nhiều vì thế bạn hãy tự tìm hiểu thêm nhé.

Download source code tại đây: Google drive

Ở bài kế tiếp mình sẽ hướng dẫn các bạn tạo một phân vùng (Areas) trong asp.net core. Cùng đón xem nhé

 

Thông tin Nguyễn An Hoàng Nguyên

Đam mê về lập trình, thích viết lách. Có hứng thú với thương mại điện tử và kinh doanh

Check Also

Học asp.net core cơ bản

Repository Pattern là gì ? Cách sử dụng trong ASP.NET Core

Repository Pattern là gì ? Cách sử dụng trong ASP.NET Core. Hiện nay về pattern …

Trả lời

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *