Вы должны ссылаться на шаблон пассивного просмотра. В шаблоне Supervising Controller представление связывается с моделью для синхронизации.
Для пассивного просмотра Вы правы. Обычно вы делаете это либо в своей функции Main, либо в классе конфигурации, который вы можете вызывать из Main. Поскольку язык не указан, я написал пример на C #.
static void Main(string[] args)
{
Model model = new Model();
View view = new View();
Presenter presenter = new Presenter(view, model);
}
public Presenter(IView view, IModel model)
{
this.View = view;
this.View.Presenter = this;
this.Model = model;
}
Конечно, это грубое упрощение. В реальных приложениях докладчик будет зависеть от объектов домена, которые абстрагируют модель, и вы, скорее всего, будете использовать контейнер IoC для обработки конфигурации. Некоторые контейнеры IoC могут даже обрабатывать циклические зависимости в параметрах конструктора, что исключает необходимость внедрения свойства.