在我的ASP.NET MVC web应用程序中,我有以下内容:
- 由LINQ to SQL创建的域模型 - 存储库,例如UserRepository和OrderRepository - IQueryable Flents作为IQueryable扩展方法,例如public IQueryable<Order> GetNewOrders(this IQueryable<Order>) - 服务,例如UserService和OrderService - 实用类和扩展方法,例如CryptoUtility(执行哈希等操作)和String等扩展 - ViewModel,针对每个MVC视图而特制 - ASP.NET MVC项目本身(控制器、视图)
我正在寻找最适合我的情况的项目结构/组织,特别是将其分成不同的程序集以及这些层之间的依赖关系应该如何。网络资源很遗憾没有详细介绍这一点。
一个提示:目前存储库、服务、IQueryable Fluents等直接针对域模型实现工作,我没有为它们定义接口。我认为这是不必要的,但也许这需要松耦合?我的服务有一个接口(例如IOrderService),我的存储库实现了IRepository<T>。
请给出组织这些内容的简洁方式,特别是哪个层应该依赖于哪个层和程序集组织。谢谢!
- 由LINQ to SQL创建的域模型 - 存储库,例如UserRepository和OrderRepository - IQueryable Flents作为IQueryable扩展方法,例如public IQueryable<Order> GetNewOrders(this IQueryable<Order>) - 服务,例如UserService和OrderService - 实用类和扩展方法,例如CryptoUtility(执行哈希等操作)和String等扩展 - ViewModel,针对每个MVC视图而特制 - ASP.NET MVC项目本身(控制器、视图)
我正在寻找最适合我的情况的项目结构/组织,特别是将其分成不同的程序集以及这些层之间的依赖关系应该如何。网络资源很遗憾没有详细介绍这一点。
一个提示:目前存储库、服务、IQueryable Fluents等直接针对域模型实现工作,我没有为它们定义接口。我认为这是不必要的,但也许这需要松耦合?我的服务有一个接口(例如IOrderService),我的存储库实现了IRepository<T>。
请给出组织这些内容的简洁方式,特别是哪个层应该依赖于哪个层和程序集组织。谢谢!