Optimiza tus transacciones con ACID

En el desarrollo de software definimos una transacción como un conjunto de pasos que deben ejecutarse de forma ordenada. El ejemplo más común en el que solemos pensar es en las transacciones de las bases de datos, pero se utilizan en muchos más ambitos, como por ejemplo: una transacción distribuida en micro-servicios, blockchains o incluso puede que debamos desarrollar un sistema de transacciones que hayamos creado de cero para nuestro proyecto.

UML

Clases vs Clases abstractas vs Interfaces

En el artículo de hoy, voy a intentar resolver una duda que suele aparecer frecuentemente, y es ¿Cuándo usar clases base “normales”, cuando usar clases abstractas y cuando interfaces? Repasaremos que es cada una y cuando sería recomendable utilizarla.