Внутреннему модулю нужны URL-адреса из уровня представления - как избежать циклической зависимости? - PullRequest
0 голосов
/ 02 июня 2009

Создание URL в моем веб-приложении отвечает за уровень представления. Теперь рассмотрим другой модуль, отправляющий сообщения, содержащие URL-адреса. (Не обязательно вызвано презентацией). Однако уровень представления должен знать о модуле (так как он может быть триггером, и пользователь может настроить модуль с помощью внешнего интерфейса).

т.е. модули зависят друг от друга ... есть идеи, как избежать этой циклической зависимости?

Хранение URL-адресов в моей базе данных мне не кажется правильным, то же самое относится и к объединению двух модулей.

Любая помощь или вдохновение очень ценится. Thx.

Ответы [ 2 ]

1 голос
/ 02 июня 2009

Создать третий модуль, который оба модуля знают, но не знают друг друга?

0 голосов
/ 03 июня 2009

Не поможет ли здесь использование интерфейса? Как насчет указания и «использования» интерфейса UrlGenerator в вашем бэкэнд-модуле и его реализации на уровне презентации?

В сочетании с неким механизмом внедрения зависимостей (шаблон Factory для построения клиентов UrlGenerator, такие платформы, как Spring или Guice, шаблон Service Locator) это нарушит циклические зависимости времени компиляции.

...