2 votes

L'utilisation d'un modèle a-t-elle un sens dans cet exemple d'application MVVM ?

Je dois écrire un petit outil qui utilise le modèle MVVM et WPF. En gros, cet outil doit effectuer les tâches suivantes :

  • Prenez un nom d'utilisateur et un mot de passe à partir de l'interface graphique.
  • Lire les lignes contenant des données provenant d'un fichier CSV externe.
  • Effectuez des appels SOAP vers un service Web externe avec les données lues à partir du CSV.

Les données suivantes sont utilisées au cours de ce qui précède (toutes les chaînes de caractères) :

  • Données lues à partir de l'interface graphique
    • Nom d'utilisateur :
    • Mot de passe
  • Données lues à partir de CSV
    • ID
    • Description

Les données du fichier CSV ne seront jamais affichées dans l'interface graphique et l'application ne stockera aucune donnée dans un fichier, une base de données, etc. Il s'agit simplement d'un "connecteur". Maintenant, que doit-on mettre dans le modèle ? Ou est-ce que j'en ai besoin dans ce cas ?

class MyData {
  private string id;
  private string description;

  public string Id {
    get { return id; }
    set { id = value; }
  }

  public string Description {
    get { return description; }
    set { description= value; }
  }
}

Note :
Cette question est liée à ma question précédente : À quoi sert le modèle dans MVVM ?

1voto

Baboon Points 8283

Le modèle se compose des POCO utilisés pour représenter les données en tant qu'objets, et de la logique permettant de récupérer les données.

Le modèle de vue est chargé de contenir le sous-ensemble de données spécifique à son objectif.

Cela signifie que la lecture d'un CSV est effectuée dans le modèle (les modèles de vue ne devraient même pas être conscients de l'existence d'un CSV) et que les données lues devraient être stockées dans des objets définis dans le modèle également (POCO).

Les modèles de vue peuvent alors récupérer n'importe quel sous-ensemble de données dont ils ont besoin à partir du modèle.

Si l'application exige la persistance, les modèles de vue repoussent les POCOs qui ont été modifiés au modèle, qui est alors responsable de la mise à jour du CSV.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X