Chào mọi người, mình đang cố gắng ứng dụng Clean Architecture.
Trong dự án Ứng dụng di động của mình, có khoảng 6 entity khác nhau và mỗi repository cho thực thể có ít nhất 4 phương thức, thường là get, add, delete, update (CRUD) để truy cập chúng… vì vậy, 6 * 4 = 24.
Theo như mình tham khảo 1 số triển khai Clean Architecture, mình sẽ cần 24 class Use Case.
Điều này là một số rất lớn các class so với chỉ có 6 Controller trong MVC, và dù có các class Use Case rồi, mình vẫn phải giữ 6 class Controller đó và tạo sự phụ thuộc giữa các Controller và Use Case.
-
Liệu mình thực sự cần phải tạo ra 24 Use Case không? Nó dường như chỉ là 1 lớp proxy với 1 lượng code rất lớn !
-
Mình thấy mọi người đều dùng class để khởi tạo Use Case, liệu dùng function cho tinh gọn hơn có ổn không ?
-
Nếu chỉ có những thao tác CRUD, thì kết luận rằng Clean Architecture không phù hợp với ứng dụng này do ít logic nghiệp vụ liệu có đúng ?
-
Mình nghĩ đến việc tạo ra 1 Use case bao quát hơn, như “Thao tác với Sản phẩm”, thay vì tách ra làm 4 class “Thêm SP, Xóa SP, Sửa SP, Đọc SP”, nhưng như thế sẽ vi phạm nguyên tắc Single responsibility và tăng sự khó hiểu. Điều này là không nên đúng không nhỉ ?
Rất mong nhận được lời khuyên ạ !