lunes, 2 de diciembre de 2019

Jerarquía de contenedores de Inyección de dependencias en ASP.NET MVC

¿Has tenido alguna vez un sistema de información; cuya interfaz para la parte interactiva es ASP.NET MVC; que necesita mantener varias versiones de comportamiento en la capa de aplicación y/o negocio a la vez y la decisión de qué versión utilizar tenía que establecerse en tiempo de ejecución según el input del usuario? Si es así, quizás esto te interese.

jueves, 17 de octubre de 2019

Retryer funcional

Hasta ahora estaba utilizando PostSharp para mi infraestructura de reintentos y muy contento oye. Utilizar AOP para estas cosas de crosscutting concerns está muy guapo y solo con eso ya está a milenios luz de la mayoría de los proyectos laborales que te puedes encontrar.

Pero tenía un problema y es que no puedes modificar en tiempo de ejecución nada. No puedes decidir si una función se reintenta o no y no puedes cambiar los parámetros del reintento. Todo está decidido en tiempo de diseño y no hay manera de cambiarlo en tiempo de ejecución. Tampoco se puede tener la misma función decorada con 2 retryers diferentes que sean usadas por distintas partes del sistema.

lunes, 19 de agosto de 2019

Pillándole el rollo a Command Query Responsibility Segregation (CQRS) de una vez por todas.

Hay que ver lo que se complica la gente con conceptos tan sencillotes (aunque increiblemente útiles). La ultima vez que hablé sobre CQRS con alguien; este alguien tenía un pifostio montado en la cabeza sobre event sourcing, read/write models, consistencia eventual y un buen montón de paranoias que creía que era en lo que consistía CQRS.

miércoles, 5 de junio de 2019

Que las promesas no te controlen a ti.

Pues sí; aquí estamos tirando código Javascript que tenga que funcionar en navegadores relativamente antiguos y sin que me dejen usar Babel debido al gañanismo atávico de Españistan.

Aquí estamos usando la implementación de las promesas provistas por JQuery que deja mucho que desear. Pero a lo tonto he interiorizado varias cosas interesantes que quiero compartir.


viernes, 17 de mayo de 2019

Precomputa sin miedo que no muerde.

Parece ser que, en el mundo de la gente que intenta aplicar DDD, hay mucha reticencia a la hora de hacer cálculos en diferido fuera de la operación principal (agregado raíz) que necesita los resultados de ese cálculo. Eso es un error que te empantana hasta las tetillas y te hace liarla muy parda.


lunes, 29 de abril de 2019

Que no Neo; que no hay cuchara.



En DDD las entidades no existen. ¡BUM! Toma locura gorda; contradiciendo todos los textos existentes sobre el tema... o no ;-)

miércoles, 13 de febrero de 2019

Las montañas de la locura.

Si quieres hacer un juego donde las localizaciones son teseractos de esos que tienen geometrías no euclidianas como en el relato de Lovecraft o quieres hacer uno en el que te drogas mucho, tienes que usar este engine tan guapo:



Y aquí el código fuente que supongo que también seguirá estructuras de control no algebraicas para que ya pierdas la poca cordura que te queda: