Résumé
L’application météo que vous gérez utilise un service météo qui a récemment annoncé sa fermeture. Vous devez commencer à chercher d’autres services météo. Sachant qu’un changement de service signifie que vos données peuvent changer, vous souhaitez arrêter d’utiliser le code-behind pour mettre à jour l’interface utilisateur avec la liaison de données. De cette façon, lorsque vous décidez du service météo que vous allez utiliser, vous n’avez pas à vous soucier de l’impact que cela pourrait avoir sur l’interface utilisateur.
La liaison de données à laquelle vous avez procédé dans les exercices a réduit le code requis pour mettre à jour l’interface utilisateur lorsque les données changent. Au lieu d’utiliser le gestionnaire d’événements du bouton pour interagir avec les contrôles de l’interface utilisateur pour présenter les données, vous êtes passé à la liaison de données. L’objet de données du service météo a été défini comme contexte de liaison pour la page, tandis que les contrôles de la page ont été liés aux propriétés de cet objet de données. L’interface utilisateur a été automatiquement synchronisée avec les données, quelle que soit la façon dont le service météo a été mis à jour. Vous avez également pu réduire le code-behind pour passer de Fahrenheit à Celsius en utilisant la liaison de données avec un convertisseur.
Imaginez que le code-behind est affecté sans liaison de données. Si vous avez renommé un contrôle, changé un contrôle en le remplaçant par un autre type ou même supprimé un contrôle, votre code-behind ne se compile plus. Si le service météo ne fournit plus un champ de données en particulier, tel que l’humidité, votre code plante quand vous essayez de le présenter dans l’interface utilisateur. Les utilisateurs voient l’application s’arrêter de fonctionner d’un seul coup tout en ignorant ce qui se passe.
La liaison de données synchronise automatiquement les données avec l’interface utilisateur. Dès que les données météo changent, tout ce qui y est lié change également. Lorsqu’un type de propriété d’interface utilisateur et le type d’objet de données ne correspondent pas, un convertisseur transforme les données liées afin qu’elles soient présentées correctement par l’interface utilisateur. Cela réduit le code-behind requis pour gérer l’interface utilisateur. L’emplacement des données et la façon dont les données ont été déclenchées ne sont pas un problème pour la majeure partie de votre interface utilisateur. Si l’humidité n’est plus fournie sur l’objet de données, l’interface utilisateur liée aux données n’affiche rien au lieu de planter. Pour vos utilisateurs, c’est une bien meilleure expérience comparé à une application qui plante.