Vous devez faire référence au modèle Passive View. Dans le modèle Contrôleur de supervision, la vue communique avec le modèle pour la synchronisation.
Pour la vue passive Vous avez raison. Vous le feriez généralement dans votre fonction Main ou dans une classe de configuration que vous pourriez appeler depuis Main. Comme aucune langue n'a été spécifiée, j'ai écrit l'exemple en 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;
}
Bien sûr, il s'agit d'une simplification grossière. Dans une application du monde réel, le présentateur dépendra des objets de domaine qui abstraite le modèle et vous utiliserez probablement un conteneur IoC pour gérer la configuration. Certains conteneurs IoC peuvent même gérer des dépendances circulaires dans les paramètres du constructeur, annulant ainsi le besoin d'injection de propriété.
Oui, vous avez raison. C'est la vue passive que j'utilisais. C'est excellent cependant. Je ne peux pas croire que je n'ai pas pensé à tout créer ensemble - comme vous l'avez fait dans votre méthode Main. À la votre – Finglas