Shrnutí

Dokončeno

Aplikace počasí, kterou udržujete, používá službu počasí, která nedávno oznámila její uzavření. Museli jste začít zkoumat další služby pro počasí. Když víte, že změna služeb znamená, že by se vaše data mohla změnit, chtěli jste prohodit použití kódu a aktualizovat uživatelské rozhraní na datovou vazbu. Když se tak rozhodnete, kterou službu počasí budete používat, nemusíte se starat o ovlivněné uživatelské rozhraní.

Datová vazba, kterou jste provedli ve cvičeních, snížila kód potřebný k aktualizaci uživatelského rozhraní při změně dat. Místo použití obslužné rutiny události tlačítka pro interakci s ovládacími prvky v uživatelském rozhraní k prezentaci dat jste přešli na datovou vazbu. Datový objekt služby weather service byl nastaven jako kontext vazby pro stránku a ovládací prvky na stránce byly vázány na vlastnosti tohoto datového objektu. Uživatelské rozhraní se automaticky synchronizovalo s daty bez ohledu na to, jak se služba počasí aktualizovala. Pomocí datové vazby s převaděčem jste také mohli snížit zakódování přepínače Fahrenheita na Stupně Celsia.

Představte si, že kód je ovlivněn bez datové vazby. Pokud jste ovládací prvek přejmenovali, změnili jste jeden ovládací prvek na jiný typ nebo dokonce odstranili ovládací prvek, kód se už nebude kompilovat. Pokud služba počasí přestala poskytovat konkrétní pole dat, jako je vlhkost, dojde při pokusu o jeho prezentaci v uživatelském rozhraní k chybovému ukončení kódu. Uživatelé by aplikaci najednou přestali fungovat a nevěděli, co se děje.

Datová vazba automaticky synchronizuje data s uživatelským rozhraním. Jakmile se data o počasí změní, změní se také cokoli, co je s ním svázáno. Pokud se typ vlastnosti uživatelského rozhraní a datový typ objektu neshodují, převaděč transformuje svázaná data tak, aby se správně zobrazovala v uživatelském rozhraní. Tím se sníží kód potřebný k údržbě uživatelského rozhraní. To, odkud data pocházejí a jak se data aktivovala, není pro většinu uživatelského rozhraní nijak důležité. Pokud už datový objekt nezadá vlhkost, uživatelské rozhraní vázané na data by místo chybového ukončení nezobrazovat nic pro popisek vlhkosti. To je mnohem lepší prostředí pro vaše uživatele místo aplikace, která se chybově ukončí.