ModelServices - это конкретные реализации и не наследует никаких интерфейсов .
Если я ссылаюсь на Ваш комментарий, который говорит:
ModelServices являются Бизнес/Domain Services
... то эти услуги должны, очевидно, наследоваться от интерфейсов!
Каждый слой в вашем приложении (включая пользовательский интерфейс), которому необходимо получить доступ к службе, будет управлять интерфейсами служб, не зная реализации службы. Помните, что самый внешний слой вашей луковой архитектуры - это уровень разрешения зависимостей, где интерфейсы служб будут связаны во время выполнения с правильной реализацией службы.
Теперь, чтобы ответить на ваш вопрос:
Я хотел бы знать ModelServices в Ядро может ссылаться другой ModelService?
Сервисные классы реализации будут ссылаться только на другие сервисные интерфейсы. В следующем примере FooService необходимо service1 & Service2 к к своей работе:
namespace MyBusiness.Core.Services
{
internal class FooService: IFooService
{
public FooService(IService1 service1, IService2 service2)
{
_service1 = service1;
_service2 = service2;
}
...
}
}
Все будет связан во время выполнения, как хорошо!
Пожалуйста, объясните, что вы подразумеваете под «ModelServices»? Поиск Google «Архитектура лука» и ModelServices возвращает только два вопроса. –
У меня такое чувство, что ModelServices - это бизнес/доменные службы. – MikeSW
Да, это BusinessService. Не обслуживание приложений или внешние службы. – Saanch