Podsumowanie i test wiedzy
W tym module pokazano, jak platforma uniwersalna systemu Windows (UWP) i Windows Presentation Foundation (WPF) obsługują powiązanie danych. Teraz wiesz więcej na temat procesu łączenia interfejsu użytkownika i logiki biznesowej aplikacji w zautomatyzowany, niezawodny i wydajny sposób.
Wiesz już, jak zaktualizować interfejs użytkownika, gdy właściwość obiektu zmieni się w kodzie i jak zaktualizować właściwość po zmianie interfejsu użytkownika. Wyświetlono listę elementów (takich jak kolory) w obiekcie ListBox
lub ComboBox
: tylko dwie z wielu kontrolek, których można użyć do pokazania kolekcji elementów na ekranie. Jeśli wykonano instrukcje z każdego samouczka, teraz masz również praktyczne doświadczenie w sposobie kontrolowania wyświetlania poszczególnych elementów w tych kontrolkach. Masz również doświadczenie w sposobie powiadamiania logiki biznesowej o wybraniu elementu przez użytkownika. Na koniec wiesz już, jak automatycznie odzwierciedlać zmiany w kolekcji (takie jak dodawanie lub usuwanie elementów) w interfejsie użytkownika.
Ta separacja interfejsu użytkownika i logiki ma kluczowe znaczenie podczas tworzenia nawet umiarkowanie złożonych aplikacji. Umożliwia ona logikę biznesową (kod) do myślenia pod względem obiektów biznesowych. Na przykład nie musieliśmy brać pod uwagę TextBox
kontrolki w naszej logice, gdy zażądaliśmy nazwy użytkownika. Musieliśmy poradzić sobie tylko z obiektem String
wprowadzonego tekstu. Nasza lista ulubionych kolorów przechowywała rzeczywiste ColorDescriptor
obiekty zamiast obiektów związanych z interfejsem użytkownika, takich jak ListItem
. Jednak dzięki powiązaniu danych interfejs użytkownika może nadal wyświetlać te elementy w dowolny sposób wybierany przez projektanta: w układzie przypominającym ListBox
ComboBox
siatkę z kartami, a nawet karuzeli. Logika biznesowa nie będzie musiała zostać zmieniona dla żadnej z tych opcji.
Prawidłowe rozdzielenie logiki i interfejsu użytkownika umożliwia również pisanie oddzielnych automatycznych testów jednostkowych dla logiki biznesowej. Te testy można uruchomić bez uruchamiania aplikacji (na przykład przy użyciu testów jednostkowych programu Visual Studio). Testy polegają na wypróbowanym i przetestowanym mechanizmie wiązania danych w celu przesyłania danych między interfejsem użytkownika a kodem logiki biznesowej.
Upraszczanie kodowania klas
Na koniec w tym module pokazano, jak można wykorzystać klasę bazową, aby uprościć kodowanie klas przyjaznych dla powiązań danych. Był to pierwszy krok w stosowaniu najlepszych rozwiązań branżowych architektury Model-View-ViewModel (MVVM).
Model, w naszym małym przykładzie, jest dobrze przedstawiony przez klasę ColorDescriptor
. Dane przechowywane na temat rzeczywistego obiektu lub koncepcji są w tym przypadku kolorem.
Widok to nasz kod XAML, MainPage.xaml (UWP) / MainWindow.xaml (WPF) i ColorList.xaml, wraz z plikami za pomocą kodu, MainPage.xaml.cs (UWP) / MainWindow.xaml.cs (WPF) i ColorList.xaml.cs.
Model widoku to rzeczywista logika biznesowa kierująca interfejs użytkownika, podejmując decyzje (na przykład czy przycisk powinien być włączony). W naszym przykładzie platformy MainPageLogic
UWP klasy i ColorListLogic
są zasadniczo klasami viewmodel. W przykładzie MainWindowDataContext
WPF klasy , Clock
i ColorListDataContext
klasy są modelami widoków.
MVVM to najczęściej używany wzorzec architektury dla struktur interfejsu użytkownika obsługujących powiązanie danych. Dostępnych jest wiele zestawów narzędzi i struktur MVVM, które mogą szybko rozpocząć tworzenie aplikacji na platformie UWP i WPF, a nawet zestaw SDK aplikacji systemu Windows i program .NET MAUI. Oto niektóre z najpopularniejszych:
Zanim przejdziesz...
Teraz, po skonfigurowaniu się na potrzeby programowania w systemie Windows, zachęcamy do uczenia się. Zapoznaj się z następnym modułem, aby dowiedzieć się więcej na temat łączenia aplikacji z chmurą. Najpierw sprawdź swoją wiedzę, wykonując następujący test.