Principios ‘SOLID’

En mi anterior entrada dónde hablaba de la importancia de tener una buena arquitectura de nuestra solución hacía hincapié en que escojamos lo que escojamos debe ser solida y robusta capaz de responder a evoluciones y a una facilidad en el momento de su mantenimiento.
Todo ello se resume con un desacoplamiento (separación, disgregación) entre nuestras capas de la solución.

Este desacoplamiento entre nuestras capas debe tener presente una serie de principios de diseño fundamentales que nos ayudaran a crear una arquitectura que se ajuste a prácticas demostradas que minimizan el mantenimiento y maximizan su evolución. Estos son los principios de diseño ‘SOLID’.

Single Responsability Principale (Principio de responsabilidad única)
Open Close Principale (Principio de abierto – cerrado)
Liskov Substitution Principale (Principio de subsitución de Liskov)
Interface Segregation Principale (Principio de segregación de Interface)
Dependency Inversión Principale (Principio de Inversión de dependencia)

Todo ello, nos proporcionará un bajo acoplamiento, alta cohesión y una alta encapsulación de nuestras capas.
Vamos a sintetizar, conceptualmente, cada uno de ellos y en otro post veremos un ejemplo de cada uno de los principios,

Principio de responsabilidad única (SRP) se basa en que una clase sólo debe tener una única responsabilidad o caraterística para cambiar.

Principio de Abierto – Cerrado (OCP) nos dice que las clases deben ser extensibles sin requerir modificación en la implementación de sus métodos internos. Esto se consigue mediante la abstracción.

Principio de sustitución de Liskov (LSP) nos indica que una clase que implemente una interfaz o herede de una clase base debe poder ser reemplazable por su clase base.

Principio de segregación de la interface (ISP) nos dice que los consumidores de nuestras clases no deben estar forzados a implementar interfaces que no utilizan. Las interfaces demasiado grandes deben dividirse en varias para que cada una de ellas sea implementada por distintos tipos de clientes.

Principio de Inversión de dependencias (DIP) se enfoca en darnos a entender que las dependencias directas entre módulos deben ser reemplazadas por interfaces (abstracciones) y estas no deben depender de los detalles.

En resumen, estos cinco principios conceptuales resumidos con este acrónimo introducido por Robert C. Martin, representa unos principios básicos de la programación orientada a objetos.
Si los aplicamos, es más probable que nuestro sistema sea fácil de mantener y ampliar a lo largo del tiempo con un código limpio evitando la refactorización de nuestro código fuente.

En los siguientes post voy a dedicar ejemplos concretos con cada uno de ellos.
Happy architect! :)

Deja un comentario

Tu dirección de correo electrónico no será publicada.