Dependency Inversion, dependiendo de abstracciones, no de implementaciones El último de los principios básicos de programación orientada a objetos nos insta a desacoplar módulos de software, a través de las siguientes directrices: Los módulos de alto nivel no deberían depender de módulos de bajo nivel. Ambos deberían depender de abstracciones. Las abrastracciones no deberían depender […]
Interface Segregation, diseñando interfaces a la medida de las necesidades de los clientes Este principio, desarrollado inicialmente por Robert C. Martin, reza lo siguiente: Los clientes de un programa dado sólo deberían conocer de éste aquellos métodos que realmente utilizan, y no aquellos que no necesitan utilizar. Robert C. Martin como consultor para Xerox
Liskov Substitution, las clases hijas pueden usarse como los padres sin conocer las diferencias entre ellas Este principio, desarrollado principalmente por Barbara Liskov, reza lo siguiente: Debe ser posible utilizar cualquier objeto instancia de una subclase en lugar de cualquier objeto instancia de su superclase sin que la semántica del programa escrito en los términos […]
En esta ocasión trataremos el segundo de los principios SOLID. Este es, desde mi punto de vista, uno de los principios más difíciles de llevar a cabo a rajatabla en los entornos de producción, sobre todo en los que no se llevó una concienzuda planificación inicial.
Hoy vamos a ver el primer principio que conforma los principios SOLID. Este es, para mi, una de las reglas más importantes a seguir en la programación orientada a objetos, ya que al seguirlo podemos saber muy bien donde estamos no nos perdemos entre líneas y líneas de código. La imagen que ilustra esta entrada […]
En el mundo del desarrollo existen múltiples principios que podemos seguir para que nuestras aplicaciones sean fácilmente escalables, simples, claras y concisas. Como artesanos del software deberíamos conocer y aplicar estos principios, así que vamos a hablar de uno de los principales enfocados a la programación orientada a objetos, SOLID.