在我的 ASP.NET MVC Web 应用程序中,我有:
领域模型,由 LINQ to SQL 创建
存储库,例如
UserRepository
和OrderRepository
IQueryable Fluents 作为 IQueryable 扩展方法,例如
public IQueryable<Order> GetNewOrders(this IQueryable<Order>)
服务如
UserService
和OrderService
实用程序类和扩展方法,例如
CryptoUtility
(做散列等)和字符串等扩展每个 MVC 视图专用的视图模型
ASP.NET MVC 项目本身(控制器、视图)
我正在为我的案例寻找最佳的项目结构/组织,尤其是分离成不同的程序集以及这些层之间的依赖关系应该如何。不幸的是,网络资源并没有详细说明这一点。
一个提示:目前 Repository、Services、IQueryable Fluents 等直接针对域模型实现工作,我没有为它们定义接口。我认为这是不必要的,但也许这是松耦合所需要的?我的服务有一个接口(例如 IOrderService),我的存储库实现 IRepository<T>。
感谢您对以简洁的方式组织这一点的意见,尤其是哪一层应该取决于什么和装配组织。谢谢!