Repository và Usecase trong kiến trúc Clean Architecture

Hiện tại em có làm một dự án, nó có sử dụng cả repository và usecase, usecase thực hiện call xuống repository để lấy data tuy nhiên thì theo em repository có thể thay thế hoàn toàn usecase mà không làm mất đi tính linh hoạt, bảo trì của dự án, vậy thì tại sao họ tạo thêm usecase nhỉ. Các bác giải thích em với.

sẽ ra sao nếu có nhiều repo cho 1 usecase?
ví dụ như bạn muốn đổi sang psql thay vì mysql. hoặc khi test thì bạn muốn xài mock thì làm sao?

tương tự sẽ ra sao nếu có hơn 1 usecase xài chung 1 repo?
nếu bỏ business logic vô repo thì ko lẽ mỗi usecase sẽ tạo ra 1 hàm riêng? như vậy có bị code smell không? rồi chỉ muốn test 1 business logic thì làm sao?

2 Likes

Vì logic của bạn quá đơn giản (CRUD only) nên bạn cảm thấy use case là thừa thãi.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?