Я пытаюсь реализовать какой-то MVC в Java. На самом деле это скорее MVP, но это не имеет большого значения для моей проблемы.Циклическая зависимость двух проектов eclipse
Следующая ситуация: У меня есть графический интерфейс, выполненный с помощью Netbeans (из-за лучшего GUIeditor), который обновляется и изменяется часто.
Как мой основной проект проще в Eclipse, я решил импортировать проект Netbeans в Eclipse как отдельный проект. Итак, я здесь с проектом «App
», содержащим контроллер и модельный пакет, и проект «GUI
», содержащий пакет просмотра. Проблема в том, что шаблон, который я следую, имеет циклическую зависимость между представлением и контроллером. Всякий раз, когда представление изменяется, контроллер получает уведомление, решает, какие данные нужно получить от модели, а затем вносит изменения в представление.
Когда я добавляю App
в путь сборки GUI
, и в остальном я получаю сообщение об ошибке «Цикл был обнаружен в пути сборки проекта« GUI ». Я имею в виду, что это правда, этот цикл уже в моем дизайне.
В настоящее время при запуске зарегистрировать вид его контроллер следующим образом (это не реальный код, я пытаюсь сократить его)
package view;
import controller.*;
class viewA{
...
public viewA() {
controllerA.register(this);
}
...
}
package controller;
import view.*;
class controllerA implements SomeListener{
...
protected viewA[] registeredViews;
public static register(viewA interestedView){
arrayPush(registeredViews,interestedView);
interestedView.addSomeListener(this)
}
...
}
Итак, вы видите подключение производится путем пропускания ссылку на контроллер, а затем регистрацию слушателя на этом представлении. Проблема в том, что если у меня нет проекта GUI
в пути сборки App
, импорт не может быть разрешен, так же, как и для App
в пути сборки GUI
.
Я хотел бы сохранить эту структуру проекта, а также придерживаться своей архитектуры MVC. Как я могу обойти это? Каковы ваши предложения?