Structure de l’application de base de données client
Les applications métier complexes ont souvent de nombreuses pages et fonctionnalités et un grand nombre de lignes de code. En raison de cela, il est essentiel que vous conceviez votre application autour d’une structure prévisible. Il existe plusieurs modèles de conception d’application qui conviennent aux applications d’entreprise, mais ils sont tous conçus autour de l’objectif de faciliter la compréhension et l’utilisation d’une application à grande échelle.
Bien que le didacticiel sur la base de données client présente une application monopage par souci de simplicité, il implémente le modèle de conception d’application Model-View-ViewModel (MVVM) pour présenter ces idées en action. Comme le nom l’indique, le modèle de conception MVVM sépare la logique d’application principale en trois catégories :
- Les modèles sont les classes qui contiennent les données de l’application.
- Les vues sont l’interface utilisateur d’une page donnée.
- ViewModels fournit la logique d’application. Cela peut inclure la gestion des actions utilisateur à partir de l’affichage et/ou de la gestion des interactions avec les modèles.
Bien que cette application ne soit pas un exemple parfait et archétypique de MVVM, elle montre les principaux principes de séparation des préoccupations en action. Consultez l’application ici.
Structure d'application
Après avoir ouvert l’application, commencez par examiner la Explorateur de solutions. Certains éléments que vous voyez doivent être familiers si vous avez déjà travaillé avec une application UWP, mais vous verrez également une collection de dossiers qui contiennent les composants de l’application.
Vues
L’interface utilisateur de l’application est définie dans le dossier Views. Étant donné que notre tutoriel est une application monopage, cela signifie qu’il n’existe qu’une seule vue - CustomerListPage. Il a à la fois le balisage d’interface utilisateur XAML et xaml.cs code-behind : ces deux fichiers composent un affichage. Vous allez ajouter des éléments d’interface utilisateur à CustomerListPage.xaml.
Remarque
Vous remarquerez peut-être que cette application n’a pas de MainPage. Cela est dû au fait que nous spécifions dans App.xaml.cs que l’application doit lancer CustomerListPage lors du lancement.
ViewModels
Bien que cette application n’ait qu’une seule vue, elle a deux ViewModels. Pourquoi ?
CustomerListPageViewModel.cs est un ViewModel standard dans le modèle MVVM. C’est là que se trouve la logique fondamentale de la page de l’application et la page avec laquelle vous allez travailler le plus dans le didacticiel. Chaque action de l’interface utilisateur effectuée par l’utilisateur est transmise à cette ViewModel pour traitement.
toutefois, CustomerViewModel.cs n’est pas associé à une vue spécifique. Au lieu de cela, il associe un concept programmatique (dont les propriétés ont été modifiées) aux données contenues dans le modèle d’un client individuel.
Modèles
Cette application contient trois modèles, qui stockent les données de l’application et fournissent des interfaces pour interagir avec le référentiel. Bien que ces éléments soient critiques de l’application, ils ne sont pas quelque chose que vous allez modifier directement dans le didacticiel.
Le plus important est Customer.cs, qui décrit la structure des données client que vous utiliserez dans le tutoriel.
Remarque
Le didacticiel ignore les propriétés e-mail et téléphone de l’objet Customer. Si vous souhaitez aller au-delà de ce qui est présenté ici, l’ajout de ces deux propriétés dans l’interface utilisateur de l’application est une bonne première étape.
Référentiel
Le dossier Référentiel contient des classes qui construisent et interagissent avec la base de données SQLite locale. Pour le tutoriel, la base de données SQLite est présentée comme suit. Bien que vous ajoutiez du code à CustomerListPageViewModel.cs pour appeler des méthodes définies par ces classes, vous n’aurez pas besoin d’apporter de modifications pour les configurer.
Pour plus d’informations sur SQLite dans UWP, consultez cet article.
Si vous essayez la section « Aller plus loin » du tutoriel, c’est là que vous allez créer une classe pour vous connecter à la base de données REST distante. Il implémente également l’interface ICustomerRepository définie dans la section Models, mais elle sera très différente de son équivalent SQLite.
Autres éléments
Comme d’habitude pour les applications UWP, le comportement de lancement de l’application est défini dans la classe App.xaml.cs . La plupart du code ici est le code par défaut pour n’importe quelle application UWP. Mais nous avons déjà apporté quelques petits changements :
- Nous avons spécifié que l’application doit afficher CustomerListPage lors du lancement.
- Nous avons créé un objet Repository, qui contiendra la source de données que nous utilisons.
- Nous avons ajouté une méthode SQLiteDatabase , qui initialise la base de données locale et la définit comme référentiel spécifié.
Si vous essayez la section « Aller plus loin », vous allez ajouter une méthode similaire pour initialiser un objet REST Repository. Étant donné que nous avons séparé nos préoccupations et que nous utilisons la même interface définie pour les opérations SQLite et REST, il s’agit du seul code existant que vous devez modifier pour utiliser REST au lieu de SQLite dans votre application.
Étapes suivantes
Si vous avez déjà terminé le didacticiel, vous pouvez consulter l’exemple complet d’application pour voir comment ces fonctionnalités sont implémentées à grande échelle.
Sinon, maintenant que vous savez pourquoi tout est là, vous devez revenir au tutoriel et travailler avec la structure que nous venons de couvrir.