Resumo e prova de aferição
Neste módulo, você viu como a Plataforma Universal do Windows (UWP) e o Windows Presentation Foundation (WPF) oferecem suporte à vinculação de dados. Agora você sabe mais sobre o processo de conexão da interface do usuário e da lógica de negócios do aplicativo de forma automatizada, robusta e de alto desempenho.
Você aprendeu como atualizar a interface do usuário quando uma propriedade de um objeto é alterada no código e como atualizar a propriedade quando a interface do usuário é alterada. Você exibiu uma lista de elementos (como cores) em um ou um ListBox
ComboBox
: apenas dois dos muitos controles que você pode usar para mostrar uma coleção de itens na tela. Se você seguiu cada tutorial, agora você também tem experiência prática com como controlar a exibição de itens individuais nesses controles. Você também tem experiência em como notificar sua lógica de negócios de que o usuário selecionou um item. Finalmente, agora você sabe como refletir automaticamente as alterações na sua coleção (como adicionar ou remover itens) na interface do usuário.
Essa separação entre interface do usuário e lógica é crucial ao desenvolver até mesmo aplicativos moderadamente complexos. Ele permite que sua lógica de negócios (código) pense em termos de objetos de negócios. Por exemplo, não tivemos que considerar o controle em nossa lógica quando solicitamos o TextBox
nome do usuário. Tivemos apenas que lidar com o String
objeto do texto que eles inseriram. Nossa lista de cores favoritas estava armazenando objetos reais ColorDescriptor
em vez de objetos relacionados à interface do usuário, como ListItem
. Mas, graças à vinculação de dados, a interface do usuário ainda pode exibir esses itens da maneira que o designer escolher: em um ListBox
, um , um layout semelhante a uma grade com cartões ou até mesmo um ComboBox
carrossel. Sua lógica de negócios não precisará ser alterada para nenhuma dessas escolhas.
A separação adequada da lógica e da interface do usuário também permite que você escreva testes de unidade automatizados separados para sua lógica de negócios. Esses testes podem ser executados sem iniciar o aplicativo (por exemplo, com o Visual Studio Unit Testing). Os testes dependem do mecanismo de vinculação de dados testado e comprovado para transferir dados entre a interface do usuário e seu código de lógica de negócios.
Simplifique a codificação de classes
Finalmente, neste módulo, você viu como pode aproveitar uma classe base para simplificar a codificação de classes amigáveis à vinculação de dados. Este foi o primeiro passo na aplicação das melhores práticas do setor da arquitetura Model-View-ViewModel (MVVM).
O modelo, em nossa pequena amostra, é bem exemplificado pela ColorDescriptor
classe. Os dados armazenados sobre um objeto ou conceito do mundo real são, neste caso, cores.
A exibição é nosso código XAML, MainPage.xaml (UWP) / MainWindow.xaml (WPF) e ColorList.xaml, juntamente com seus arquivos code-behind, MainPage.xaml.cs (UWP) / MainWindow.xaml.cs (WPF) e ColorList.xaml.cs.
O viewmodel é a lógica de negócios real que conduz a interface do usuário, tomando decisões (por exemplo, se um botão deve ser habilitado). Em nosso exemplo de UWP, as MainPageLogic
classes e ColorListLogic
são essencialmente classes viewmodel. No exemplo do WPF, o , o MainWindowDataContext
Clock
e as ColorListDataContext
classes são os viewmodels.
MVVM é o padrão de arquitetura mais usado para estruturas de interface do usuário que suportam vinculação de dados. Há muitos kits de ferramentas e estruturas MVVM disponíveis que podem impulsionar seu desenvolvimento em UWP e WPF, ou até mesmo SDK de aplicativos Windows e MAUI .NET. Alguns dos mais populares são:
Antes de ir...
Agora que você já está configurado para o desenvolvimento do Windows, incentivamos você a continuar aprendendo. Confira o próximo módulo para saber mais sobre como conectar seu aplicativo à nuvem. Mas primeiro, verifique seus conhecimentos com o seguinte questionário.