2013-07-23 5 views
0

У меня есть два модуля - модуль A и модуль B. В модуле A у меня есть Mailer.java, метод которого я должен вызывать из класса java в модуле B таким образом что они не связаны в высокой степени, и не должно быть циклической зависимости (если возможно) между двумя модулями.Как разрешить зависимость между двумя модулями

Я думал о перемещении кода Mailer.java в модуле B, но это не поможет, потому что Mailer.java имеет гораздо больше зависимостей, мне придется перейти к модулю B.

Тогда я думал о написании интерфейс в модуле B с помощью метода, который будет реализован в модуле A. В конечном итоге я в конечном итоге вызову этот реализованный метод. Но тогда, поскольку это метод интерфейса, мне придется предоставить тело по умолчанию этому методу в модуле B. Но я не уверен в этом решении. Является ли решение в порядке?

Любой другой способ реализации также поможет.

ответ

1

Два утверждения, которые я могу предложить.

1) отделить из общего модуля и сделать его совместно используемую библиотеку между & B.

2) Защиту веб-сервисы, которые могут потребляться другими модулями.

+0

Спасибо за решение. Теперь, если я думаю о создании библиотеки, библиотека будет содержать только несколько методов. Кажется, это слишком много. Не так ли? Есть ли другой путь? – milind

+0

Я лично не думаю, что у вас может быть любое ленивое решение. создание библиотеки - это задача смазки, вы можете просто поместить связанный пакет где-то в другом месте. Создайте свою банку и поместите ее в место, где вас могут обманывать через местоположение пути общего класса –

0

создать имеет отношения модуля А в модуль B

, если любой класс в модуле A хочет класс B, то экземпляр его использовать.

для например, экземпляр Mailer.java в модуле B, так что все эти методы могут быть подвержены ей использовать в модуле B.