Lecturas recomendadas sobre c# y .net · mayo 2019
Aquí os dejo la lecturas interesantes sobre programación en c#.net del mes de mayo.
1. Backing fields en Entity Framework Core
José M. Aguilar
Si habéis trabajado ya con Entity Framework "clásico", probablemente que alguna vez habréis necesitado proteger las entidades de accesos no controlados a algunas de sus propiedades. Aunque algunos de esos escenarios eran salvables jugando con la visibilidad de las propiedades, hay otros donde esto no era técnicamente posible, suponiendo un peligro desde el punto de vista de la encapsulación de datos, el mantenimiento de invariantes o la consistencia de la información almacenada.
2. Captive Dependency
Mark Seemann
Cuando uses un contenedor de inyección de dependencias (DI), debes configurarlo de acuerdo con el patrón Register Resolve Release. Un aspecto de la configuración es administrar la vida útil de los servicios. Sin embargo, si no tienes cuidado, puedes configurar mal las vidas de tal manera que un servicio de mayor duración mantenga cautivo un servicio de menor duración, a menudo con resultados sutiles pero desastrosos.
3. No corrijas ese bug
Juan María Hernández
Llegas a la siguiente funcionalidad. Generar un PDF con la factura del carrito de antes. Mientras haces pruebas descubres que la librería que usas para generar el PDF falla cuando el nombre del cliente tiene caracteres coreanos. Y tú no has vendido a un coreano en tu vida, Hulio. ¿Lo corriges ahora o esperas?
4. What types should I use to pass collections in C#?
Mark Heath
(...) "¿qué tipos debemos usar para pasar las colecciones en el código"? Cuando los métodos toman colecciones como parámetros, o los devuelven, ¿deberíamos usar tipos concretos como Lista <T>, o tal vez todo debería ser IEmumerable <T>? ¿Y qué pasa con los DTO que se serializan en JSON o XML y se vuelven a cerrar? ¿Cómo debemos declarar las propiedades que contienen colecciones en DTO?
5. Compare .NET Thread Class, Threadpool Class, BackgroundWorker Class and Task Parallel Library
Artemakis Artemiou
Hay más de una opción para implementar multithreading en .NET. Este es un hecho que naturalmente lleva a la pregunta: "¿qué técnica de multithreading debo usar cuando desarrollo aplicaciones .NET?".
En este post intentaremé responder a esta pregunta.
6. Cómo crear un servicio Net Core multiplataforma
Jorge Turrado Ferrero
Para que un servicio se pueda instalar y funcione en Windows, tiene que heredar de «ServiceBase«, lo que difiere un poco de cómo funciona en otras plataformas, y hace que crear un servicio multiplataforma no sea algo directo. Esto se puede solucionar fácilmente con un poco de código.
7. Top 3 Features in C# 8 that will change the way you write code
Chris Pietschmann
C # 8 es la próxima versión importante del lenguaje de programación oficial de Microsoft. C # 8 está repleto de características sorprendentes y algunas de ellas tienen el potencial de cambiar la forma en que los desarrolladores escribirán su código C # en el futuro. Déjame presentarte mis tres características preferidas.
8. Using Blazor to Build a Client-Side Single-Page App with .NET Core
Matthew Jones
Uno de mis sueños secretos se está haciendo realidad: ¡pronto podremos escribir el código C # y ejecutarlo en el navegador!
Esto se debe a un framework anteriormente experimental, pero ahora con soporte oficial llamado Blazor. En esta publicación, aprenderemos qué es Blazor y crearemos una aplicación de ejemplo para demostrar cómo usarla. Juro que esto no es un sueño.
9. Implementing Indexers in C#
Peter Mbanugo
Los indexadores permiten que las instancias de una clase se indexen como arrays, y se declaran de manera similar a los métodos. Pueden ser útiles cuando trabajas con tu propia clase de tipo collection. Aprendamos a definir y trabajar con indexadores.
10. Performance Showdown of Producer/Consumer (Job Queues) Implementations in C# .NET
Michael Shpilt
Recientemente escribí 3 publicaciones de blog ([1] [2] [3]) sobre diferentes implementaciones de Productor / Consumidor (Job Queues). Hay muchas maneras diferentes de implementar las colas de trabajo en C #, pero ¿cuáles elegir? ¿Cuál es mejor, más rápida y más versátil?