Lecturas recomendadas sobre c# y .net · febrero 2020
Aquí llegan las esperadas lecturas recomendadas del mes de febrero :)
1. 3 things that will make or break your project · Vladimir Khorikov
De todos los principios de programación y buenas prácticas que existen, ¿cúales son realmente los más importantes a la hora de determinar el éxito de un proyecto?
2. C# to C# Communication: REST, gRPC and everything in between · Michael Shpilt
En este artículo encontrarás una guía que describe las principales tecnologías para comunicar un cliente de C# con un servidor C#: REST tradicional, ReFit, Swagger y gRPC. Va bien conocerlas para saber cuál de ellas aplicar según la situación.
3. Implementing repository querying interface in EF Core DbContext · Gunnar Piepman
Implementar el patrón repositorio no es lo más acertado si estás trabajando con Entity Framework. Ok, pero entonces ¿cómo centralizo consultas repetitivas? En mis proyectos siempre implemento métodos extensores de IQueryable<T>, pero no es la única manera de conseguirlo. Este artículo describe otro modo de obtener el mismo efecto pero con la ventaja de que dichos métodos sean testeables.
4. Builder isomorphisms · Mark Seemann
Hay tres patrones Builder que puedes implementar en C#. El clásico y más conocido del libro Patrones de diseño, que se llama Builder a secas, y otras dos variaciones más útiles. Uno es el Fluent Builder, en mi opinión muy útil y cada vez más utilizado, y otro que es muy parecido pero llevando las buenas prácticas a la perfección, el Immutable Fluent Builder. Haz un tour por las tres implementaciones del patrón leyendo este artículo.
5. Creating an endpoint from multiple middleware in ASP.NET Core 3.x · Andrew Lock
En ASP.Net Core 3 ha aparecido un nuevo middleware llamado Endpoint Middelware. Su objetivo es poder configurar el sistema de rutas, ya sea MVC, API, Razor pages, todas a la vez, o las que quieras personalizar. Este post es una lección sobre middelwares y endopoints en .Net Core 3.0. Imprescindible si trabajas con .Net Core y quieres hacer bien las cosas.
6. Your Todo application is too complex or not complex enough · ScotT hanselman
En este post Scott recomienda echarle un vistazo a https://github.com/davidfowl/Todos?WT.mc_id=-blog-scottha. Es un repositorio que consiste en 8 maneras diferentes de implementar una misma aplicación To-Do. Cada versión tiene pequeñas variaciones: con autenticación, con controllers, con inyección de dependencias, etc . Lo que más me ha sorprendido de todos los ejemplos es su sencillez: utiliza muy pocas clases para conseguir su objetivo.
7. Publicación self-contained y single-file en .NET Core · José M. Aguilar
Cápsula informativa sobre las publicaciones "self-contained" de .Net Core. Aprende cómo crear una publicación de este tipo, sus implicaciones y sus parámetros de creación.
8. Windows Forms en .NET Core: Controles inexistentes y cómo sustituirlos · Campus MVP
Si tienes una aplicación Winforms y has pensado pasarla a .Net Core te sorprenderá conocer que algunos de los controles no existen en .Net Core. Pero no te preocupes porque hay otros similares que permiten realizar la misma función. Aquí tienes una guía para saber cómo substituirlos.
9. Non-exceptional averages · Mark Seemann
Partiendo de una función que calcula un promedio y en la que según el caso se produce una excepción, Mark Seeman explica cómo ir refactorizándola para que finalmente sea una función que jamás produzca una excepción. Sí, es posible.
10. The Maybe Monad in C#: More methods · Yacoub Massad
La clase Maybe representa un valor que puede o no existir. Si en C# no existiera el concepto null estoy seguro de que esta clase sería conocida por todos. Este artículo muestra métodos que facilitan el uso de dichas clases.
Extra. Reading The Past, Present, and Future Of .NET Through NuGet · Khalid Abuhakmeh
Este artículo analiza el Top 100 de paquetes Nuget y extrae un valoración del estado de la comunidad .Net. ¿Está sana? ¿Tiene diversidad? ¿Hacia dónde se dirige?