Bonjour,
Je travaille actuellement sur un programme C#/WPF pour gérer un dongle de programmation via USB.
Etant donné que cette application est susceptible d'évoluer de façon importante et afin de faire les choses proprement, j'ai décidé d'utiliser AvalonDock2.0 pour proposer à l'utilisateur de mettre en place son environnement de travail comme il le désire.
Je découvre totalement le design pattern MVVM puisque plus habitué à MVC et j'avoue que cela n'est pas clair pour un point important: Y a t-il une place pour un contrôleur dans ce design pattern ? Il me semble que non (sinon on l'appellerait MVVMC...) mais ma question est propre à la gestion de l'USB.
Ou suis-je censé initialiser ma librairie USB (j'utilise WinUSBNet) ? Je voulais le faire dans la logique d'un UserControl mais lorsqu'il est géré par AvalonDock en tant que Anchorable, il n'est initialisé par AvalonDock que lorsqu'il devient visible.. (lorsque l'utilisateur clique sur l'onglet en question)
Je ne pense pas que ce soit le bonne endroit.. De plus, la logique USB doit être accessible par d'autre module et doit donc être gérée comme un service qui va alimenter le vue-modèle du UserControl en question et éventuellement d'autre vue-modèle (peut-être au travers d'un modèle global).
Ma question porte donc plus sur le design pattern que sur AvalonDock en particulier.
Pour conclure, est-ce que le plus simple et de définir simplement une classe représentant un contrôleur et créant éventuellement un thread ? Elle même crée lors de l'initialisation de la MainWindow ou n'est-ce pas assez MVVM ?
Merci d'avance![]()
Partager