Я хотел бы услышать, что здесь существует все отношения. Я предполагаю, что здесь существуют такие отношения, как зависимость и агрегация с множественностью 1-1?
public class Main {
public Main() {
Model model = new Model();
View view = new View();
Controller controller = new Controller(view, model);
}
public static void main(String[] args) {
new Main();
}
}
public class Controller {
private Model model;
private View view;
public Controller(Model model, View view) {
this.model = model;
this.view = view;
}
}
public class Model { ... }
public class View { ... }
Это просто, здесь нет необходимости в обратном проектировании (построении модели из кода).
Main
имеет три ассоциации: один с Model
, один с View
и один с Controller
, в то время как Controller
имеет две ассоциации: одну с Model
и одну с View
.
Обратите внимание, что нет необходимости в ассоциациях Main-Model
и Main-View
потому что они могут быть получены через main.controller.model
и main.controller.view
.
Main-Controller
ассоциации (а также Main-Model
и Main-View
) можно просмотреть/смоделировать как композицию, поскольку основной экземпляр программы (процесс) состоит из экземпляра контроллера, который связан с моделью и просмотреть экземпляр. Все три композиции имеют зависимость от жизненного цикла: любая модель, представление и экземпляр контроллера экзистенциально зависят от его основного совокупного экземпляра.