Entradas

Mostrando las entradas etiquetadas como Visual Studio

Inyección de dependencias en Xamarin Forms con Autofac

Imagen
La inyección de dependencias es un patrón de diseño, el cual provee los objetos requeridos por una clase, en vez de que la misma clase los gestione. Esto nos ayudaría a cumplir uno de los principios de SOLID que es Dependency inversion principle . Es una manera de tener el software de manera modular. Un injector nos provee de las los objetos instanciados de los servicios requeridos por un cliente. En Xamarin Forms lo podemos integrar para gestionar las dependencias nativas (Dependency Service), ViewModels y Servicios. Lo primero que debemos hacer es instalar el Nuget de Autofac , librería que nos provee de un contenedor que se encargará de cumplir la tarea del Injector. Posteriormente deberemos crear nuestros servicios y dependencias nativas que se inyectarán en el constructor de nuestro ViewModel. En este caso AppInformation y LoggerService . NOTA: La mejor práctica es inyectar una interface, ya que esto nos permitirá realizar un Mock en las pruebas un...

Diccionario de recursos y multilenguaje en Xamarin Forms

Imagen
Una buena práctica en nuestros proyectos es utilizar diccionarios que nos ayuden a gestionar los recursos de las aplicaciones, esto hace que nuestro código esté mejor estructurado, sea más escalable y facilite el mantenimiento del mismo. Estos nos dan grandes beneficios, por ejemplo proporcionar de manera sencilla el multilenguaje a nuestras aplicaciones o solo cambiar una vez el valor en nuestro diccionario y que todos los elementos que hagan referencia a él se vean reflejados inmediatamente. Para empezar deberíamos agregar un nuevo Resources File Podemos tener varios diccionarios por lenguaje, diferenciando los por el código del lenguaje. En caso de no agregarle un código de lenguaje ese será el diccionario por default . Una vez creados deberemos agregar los elementos con un formato de llave-valor en el que el Name será la llave y Value el valor. La llave deberá estar presente en ambos archivos. Para llamarlo en nuestro código XAML es bastante se...