Resumen
La aplicación weather que usted mantiene utiliza un servicio weather que ha anunciado recientemente su cierre. Necesitaba empezar a investigar otros servicios weather. Sabiendo que cambiar de servicios implica que sus datos podrían cambiar, quería pasar de usar el modelo code-behind a la vinculación de datos para actualizar la interfaz de usuario. De este modo, cuando decida qué servicio weather va a utilizar, no tendrá que preocuparse de que la interfaz de usuario se vea afectada.
El enlace de datos que hizo en los ejercicios redujo el código necesario para actualizar la interfaz de usuario cuando cambian los datos. En lugar de utilizar el controlador de eventos del botón para interactuar con los controles de la interfaz de usuario para presentar los datos, se ha pasado a la vinculación de datos. El objeto de datos del servicio weather se estableció como el contexto de vinculación para la página, y los controles de la página se vincularon a las propiedades de ese objeto de datos. La interfaz de usuario se sincronizó automáticamente con los datos, independientemente de cómo se actualizó el servicio weather.
Imagine que el código subyacente se ve afectado sin enlace de datos. Si cambió el nombre de un control, cambió un control a otro tipo o incluso eliminó un control, el código subyacente ya no se compilaría. Si el servicio weather deja de proporcionar un campo específico de datos, como la humedad, el código se bloquearía al intentar presentarlo en la interfaz de usuario. Los usuarios verían que la aplicación dejaba de funcionar repentinamente y no sabrían lo que estaba sucediendo.
La vinculación de datos sincroniza automáticamente los datos con la interfaz de usuario. En cuanto cambian los datos weather, también cambia todo lo que está vinculado a ellos. Cuando un tipo de propiedad de interfaz de usuario y el tipo de objeto de datos no coinciden, un convertidor transforma los datos enlazados para que la interfaz de usuario la presente correctamente. Esto reduce el código subyacente necesario para mantener la interfaz de usuario. Dónde proceden los datos y cómo se desencadenaron los datos no es preocupante para la mayoría de la interfaz de usuario. Si la humedad ya no se proporcionaba en el objeto de datos, la interfaz de usuario vinculada a los datos no mostraría nada para la etiqueta de humedad en lugar de bloquearse. Es una experiencia mucho mejor para los usuarios en lugar de una aplicación bloqueada.