Podsumowanie

Ukończone

Aplikacja pogodowa, którą utrzymujesz, korzysta z usługi pogodowej, która niedawno ogłosiła jej zamknięcie. Musisz rozpocząć badanie innych usług pogodowych. Wiedząc, że zmiana usług oznacza, że dane mogą ulec zmianie, chcesz zamienić się z użyciem kodu w celu zaktualizowania interfejsu użytkownika do powiązania danych. W ten sposób, gdy zdecydujesz, której usługi pogodowej zamierzasz używać, nie musisz martwić się o wpływ interfejsu użytkownika.

Powiązanie danych, które wykonano w ćwiczeniach, zmniejszyło kod wymagany do zaktualizowania interfejsu użytkownika po zmianie danych. Zamiast używać programu obsługi zdarzeń przycisku do interakcji z kontrolkami w interfejsie użytkownika w celu prezentowania danych, przeniesiono do powiązania danych. Obiekt danych usługi pogodowej został ustawiony jako kontekst powiązania dla strony, a kontrolki na stronie były powiązane z właściwościami tego obiektu danych. Interfejs użytkownika został automatycznie zsynchronizowany z danymi, niezależnie od sposobu aktualizacji usługi pogodowej. Udało Ci się również zmniejszyć liczbę kodu dla przełącznika Fahrenheit na stopnie Celsjusza przy użyciu powiązania danych z konwerterem.

Wyobraź sobie, że nie ma to wpływu na kod bez powiązania danych. Jeśli zmieniono nazwę kontrolki, zmieniono jedną kontrolkę na inny typ, a nawet usunięto kontrolkę, kod nie będzie już kompilowany. Jeśli usługa pogodowa przestała dostarczać określone pole danych, takie jak wilgotność, kod ulegnie awarii podczas próby przedstawienia go w interfejsie użytkownika. Użytkownicy nagle przestaliby działać i nie wiedzieliby, co się dzieje.

Powiązanie danych automatycznie synchronizuje dane z interfejsem użytkownika. Gdy tylko dane o pogodzie się zmienią, wszystkie powiązane z nim zmiany. Gdy typ właściwości interfejsu użytkownika i typ obiektu danych nie są zgodne, konwerter przekształca powiązane dane tak, aby został prawidłowo przedstawiony przez interfejs użytkownika. Zmniejsza to obciążenie kodu wymagane do obsługi interfejsu użytkownika. Skąd pochodzą dane i jak zostały wyzwolone dane, nie ma obaw dotyczących większości interfejsu użytkownika. Jeśli wilgotność nie została już podana w obiekcie danych, interfejs użytkownika powiązanego z danymi nie będzie pokazywał nic dla etykiety wilgotności zamiast ulegać awarii. Jest to znacznie lepsze środowisko dla użytkowników zamiast aplikacji, która uległa awarii.