Principio de segregación de interfaces
El siguiente principio corresponde a la segregación de interfaces, simple y directo nos dice:
Ninguna clase debería depender de métodos que no usa.
Sabemos que las interfaces ayudan a definir comportamiento, es por eso que cuando se crean interfaces es importante estar seguros de que todas las clases que vayan a implementar dichas interfaces necesiten el comportamiento definido y de no ser así es mejor crear interfaces extras.
Las interfaces nos ayudan a desacoplar módulos entre si; El módulo que describe la interfaz no tiene que saber nada sobre nuestro código y, sin embargo, nosotros podemos trabajar con él sin problemas. El problema viene cuando las interfaces tratan de jugarle al todo lo puedo y definen mas cosas de las debidas a esto se le conoce cono fat interfaces. Esto solo provocara que muchas de las clases hijos terminaran no usando muchos de esos métodos y tendrá que dar seles una implementacion les recuerdo a algo, así es empezaríamos a violar la sustitución de Liskov.
Sin embargo para que puedas identificar que este principio no esta siendo respetado verifica: si al implementar una interfaz ves que uno o varios delos métodos no tienen sentido y te hace falta dejarlos vacíos como con Liskov el principio esta siendo violado por lo que es mejor dividir la interfas en otras mas.
Recuerda que estos principios fueron publicados por primera vez por Robert C. Martin, también conocido como Uncle Bob, en su libro Agile Software Development: Principles, Patterns, and Practices. Una persona que te recomiendo seguir, y revisar su blog de vez en cuando.
Y recuerden amiguitos:
- Un mejor desarrollo conlleva poder ser interpretado por cualquier programador.
- Si forjas estas bases como tuyas los resultados que obtendrás serán satisfactorias tanto para ti como para el que toque tu proyecto a futuro .
- No importa si ya eres un viejo lobo de mar en esto o apenas emprendes esta aventura conocer estos principios lo único que pueden hacer es hacerte mejorar.
Hasta la próxima...
| Entradas Relacionadas |
|---|
| S.O.L.I.D. |
| Principio de Responsabilidad Única |
| Principio Open/Closed |
| PRINCIPIO DE SUSTITUCIÓN DE LISKOV |
Me contenta ver que vas creciendo rapido. Felicitaciones
Buena vibra.
Sería bueno tener ejemplos prácticos de código o snippets.
ya vienen, en cuanto termine el ultimo principio vamo a la practica
Hola, solo venimos a avisar que en este buen post estamos de fiesta porque...
Información fuera de mi dominio, pero igual interesante. Ser programador no es cosa sencilla. Saludos