我正在开发一个遵循 Onion 架构的 ASP.NET MVC 应用程序。
我想知道Core中的ModelServices可以引用另一个ModelService吗?
ModelServices 是具体的实现,不继承任何接口。我在模型服务中编写业务逻辑,它依赖于存储库。
我做对了吗?
我正在开发一个遵循 Onion 架构的 ASP.NET MVC 应用程序。
我想知道Core中的ModelServices可以引用另一个ModelService吗?
ModelServices 是具体的实现,不继承任何接口。我在模型服务中编写业务逻辑,它依赖于存储库。
我做对了吗?
ModelServices 是具体的实现,不继承任何接口。
如果我参考您的评论说:
ModelServices 是业务/领域服务
...那么这些服务显然应该从接口继承!
应用程序中需要访问服务的每一层(包括 UI)都会在不知道服务实现的情况下操作服务接口。请记住,洋葱架构的最外层是依赖解析层,这是服务接口在运行时与正确的服务实现绑定的地方。
现在回答你的问题:
我想知道Core中的ModelServices可以引用另一个ModelService吗?
服务实现类只会引用其他服务接口。在以下示例中,FooService 需要 service1 和 service2 来完成他的工作:
namespace MyBusiness.Core.Services
{
internal class FooService: IFooService
{
public FooService(IService1 service1, IService2 service2)
{
_service1 = service1;
_service2 = service2;
}
...
}
}
一切都将在运行时绑定!