我正在设计一个使用服务层的asp.net mvc应用程序.如果我们的服务依赖于其他服务怎么办?例如,假设我们有以下模型:
class UserService : IUserService
{
//implementation requires IEmailService
}
Run Code Online (Sandbox Code Playgroud)
当然,具体实现EmailService可以注入到UserService的构造函数中,但在我的理解中,服务层应该在UI和Domain Model之间进行调解,它就像一个外观.我将以UserService依赖于IUserModule和IEmailModule的方式定义另一个层,这样我们就可以打破服务之间的依赖关系,服务依赖于较低层(在我的模块层中).这是一种正确的方法吗?
在常见的DDD体系结构中,您将找到两种服务域服务(其实体之间的协调业务操作)和应用程序服务(其依赖于域服务,并包含与应用程序相关的任务而不是业务逻辑,例如导出到pdf是一个应用程序任务.应用折扣是一个业务逻辑任务).
所以,如果你只有一种服务,我认为这包括两个职责.完全有效,具有相互依赖性.

| 归档时间: |
|
| 查看次数: |
779 次 |
| 最近记录: |