Lecturas recomendadas sobre c# y .net · julio 2019
Aquí os dejo la lecturas interesantes sobre programación en c#.net del mes de julio.
--
1.IInterface Considered Harmful
Lee Brandt
Cuando le digo a un desarrollador que NO use el prefijo "I" para las interfaces, el IPersonRepository se convierte en PersonRepository. El primer pensamiento es: "¿Cómo llamo a la clase PersonRepository ahora?"
2. Never Use Reference Constants
Silas Reinagel
Muy a menudo en la programación empresarial me encuentro con archivos llamados XYZConstants. ¡Los archivos con la palabra "Constantes" en ella siempre son indicativos de un mal diseño! El problema con estas clases es similar al problema de las clases de utilidad, aunque ligeramente diferente. ¡Existe un diseño mucho, mucho mejor!
3. Yes silver bullet
Mark Seemann
Desde que Fred Brooks publicó su ensayo, creo que, al contrario de su predicción, hemos sido testigos de varias balas de plata.
4. Solucionar el error "Thread was being aborted" en ASP.NET
José Manuel Alarcón
Si eres de los que hace "log" de los errores que se producen en tu aplicación para enterarte de cuándo pasa algo, es posible que en un momento determinado empieces a registrar errores como el del título de este post, con mensajes tipo este:
System.Threading.ThreadAbortException: Thread was being aborted.
5. Etiquetado de consultas en Entity Framework 6
José M. Aguilar
Pues hablábamos hace unos días del extensor
TagWith()
de Entity Framework Core (...) pensaba que quizás sería interesante poder utilizar esta misma idea en Entity Framework 6, porque, al fin y al cabo, todos tenemos por ahí muchas aplicaciones en producción que continúan delegando en este marco de trabajo su acceso a datos.
6. Find, Fix, and Avoid Performance Problems in C# .NET: 10 Best Practices
Michael Shpilt
No sé tú, pero yo estoy obsesionado con el rendimiento. Cuando mi proyecto tiene un problema de rendimiento, lo tomo como una ofensa personal y no descanso hasta que encuentro el problema. Probablemente ese no sea el enfoque más saludable, pero no estamos aquí para hablar de eso. Hablemos de problemas de rendimiento.
7. Pipeline Pattern Implementations in C# .NET – Part 1
Michael Shpilt
En esta serie de artículos, veremos diferentes implementaciones de multi-threaded pipeline en C #. En esta primera parte voy a mostrar implementaciones usando BlockingCollections. En las siguientes, mostraré implementaciones con TPL Dataflow, Channels, Rx y quizá algunas bibliotecas de terceros.
8. Functional Programming in C#
Akram El Assas
Sea S cualquier conjunto de elementos a, b, c ... (por ejemplo, los libros sobre la mesa o los puntos del plano euclidiano) y sea S' cualquier subconjunto de estos elementos (por ejemplo, los libros verdes en la mesa, o los puntos en el círculo de radio 1 centrado en el origen del plano euclidiano).
La función característica S '(x) del conjunto S' es una función que asocia verdadero o falso con cada elemento x de S.
9. Type-dictionary trick in C
Marius Gundersen
Este artículo explora un truco en C # para buscar valores basados en tipos, como un Diccionario <Tipo, T> ¡solo que es casi 10 veces más rápido! Probablemente no necesites este truco e incluso si llegas a necesitarlo, solo funciona en algunos escenarios muy específicos. Pero es un buen truco que es divertido conocer.
10. Creating a custom feature filter
Andrew Lock
En este artículo muestro cómo puedes crear tu propio feature filter personalizado. El ejemplo busca un Claim en el ClaimsPrincipal del usuario que ha iniciado sesión y habilita una feature flag si está presente. Podrías usar este filtro para habilitar una función a un subconjunto de sus usuarios.