Có hướng dẫn nào để quyết định khi nào một lớp nên ở trong hội đồng / DLL riêng của nó không? Tôi thường thấy hai trường phái tư tưởng:
1) Mỗi "nhóm" các lớp thuộc về DLL riêng của nó, ví dụ như Kho, Dịch vụ, DTO, Cơ sở hạ tầng, v.v.
2) Mọi thứ phải nằm trong một DLL duy nhất nhưng được phân tách thông qua các không gian tên / thư mục, ví dụ: có DLL "Core" với các không gian tên bổ sung, ví dụ như Core.Repositories, Core.Service, Core.DTO, v.v.
Trong công việc, chúng tôi chỉ gộp tất cả mọi thứ trong một hội duy nhất gọi là "Kinh doanh". Có một số thư mục nhưng không có sự phân tách thực sự - các đối tượng kinh doanh (có logic, một số trong đó thậm chí không phải là các lớp) được gộp trong một thư mục "BusinessObjects" mà không cần quan tâm. Những thứ được sử dụng trong nhiều lớp nằm trong thư mục "Lõi". Các tiện ích nằm trong thư mục "Tiện ích", cơ sở hạ tầng truy cập dữ liệu là thư mục "Dữ liệu" - bạn hiểu ý tưởng.
Đối với một mô-đun mới tôi đang làm việc tôi muốn / cần phải có một lớp truy cập dữ liệu riêng biệt (nghĩ rằng việc triển khai Kho lưu trữ thô sơ) nhưng tôi không muốn ném nó vào thư mục "BusinessObjects" với 160 (!) Khác các lớp học ở đó. Đồng thời tôi lo lắng về việc tạo Thư viện lớp mới vì mọi người đều quen với việc nhồi một lớp trong Thư viện duy nhất; một thư mục / không gian tên có thể làm việc tuy nhiên.