2014-12-05 3 views
0

Моего App.Api проект имеет AppService проект в качестве ссылки в Visual Studio как показано на рисунке ниже. App.Api может получить доступ к классам и методам AppService, но AppService не может получить доступ к классам и методам Api.Api. Оба они встроены в отдельные DLL-файлы.Передача методы в качестве делегата ссылочного модуля

Reference

У меня есть статический метод App.Api, что мне нужно вызвать в модуле AppService. Я могу передать его в качестве делегата в AppService, и он работает отлично. Реализация этого метода должна быть помещена в App.Api по другим причинам, которые слишком долго объясняют здесь.

Возможны ли какие-либо проблемы с таким решением? Это даже подходящий способ сделать что-то архитектурно?

ответ

0

Это означает проблему круговой ссылки и дефекта дизайна. Вам нужен медиатор для связи между этими двумя слоями или требуется абстракция, которая будет разделяться двумя слоями.

+0

Таким образом AppService утрачивает удобство использования для других проектов. –

+0

Если у дизайна есть недостатки, юзабилити в любом случае будут затронуты в ближайшем будущем. – Amit

0

Другой вариант - Observer Design Pattern. App.api subscribes в AppService и при необходимости он будет notify App.api.

Смежные вопросы