Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Interface Segregation Principale
Interface Segregation Principale
DE INTERFACES
GRUPO 4
● DANNY PATRICIO DOMINGUEZ JIMENEZ
● ALEJANDRO SEBASTIAN TORRES CONSTANTE
● JOSE LUIS BUSTILLOS OÑATE
● ERNESTO ALEJANDRO MOLINA DUQUE
● EDDY ARIEL AGUAGALLO RUIZ
● CHRISTOPHER ALEXIS CANDELEJO FASSO
● DAMIAN ANTHONY DEFAZ AGUILERA
OBJETIVO GENERAL
Aplicar el principio de segregación de interfaces en el diseño y desarrollo de sistemas, con el fin de mejorar la
cohesión, reducir la complejidad y aumentar la flexibilidad del sistema, mediante la separación de las
interfaces en unidades cohesivas y específicas, que permitan la independencia y el acoplamiento débil entre
los diferentes componentes del sistema.
OBJETIVOS ESPECÍFICOS
● Aprender los principios de segregación de interfaces.
● Limitar la interacción entre los distintos componentes del sistema a través de interfaces claras y bien definidas.
● Definir interfaces claras y bien definidas para cada módulo, se facilita la comunicación entre los distintos componentes
del sistema, independientemente de su tecnología o plataforma subyacente.
INTRODUCCIÓN
● · “Muchas interfaces específicas son mejores que una única más general
● · “Los clientes no deberían verse forzados a depender de interfaces que no usan”
Cuando los clientes son forzados a utilizar interfaces que no usan por completo, están sujetos a cambios de esa interfaz. Esto
al final resulta en un acoplamiento innecesario entre los clientes.
Dicho de otra manera, cuando un cliente depende de una clase que implementa una interfaz cuya funcionalidad este cliente
no usa, pero que otros clientes si usan, este cliente estará siendo afectado por los cambios que fuercen otros clientes en la
clase en cuestión.
Debemos intentar evitar este tipo de acoplamiento cuando sea posible, y esto se consigue separando las interfaces en otras
más pequeñas y específicas.
MARCO TEÓRICO
Principios SOLID
Son cinco directrices o principios para facilitar a los desarrolladores la labor de crear programas legibles
y mantenibles.
Este principio fue formulado por primera vez por Robert C. Martin, lo define como:
Este principio establece que los clientes no deberían verse forzados a depender de interfaces que no
usan.
Se puede definir como la priorización de la creación de múltiples interfaces específicas, en lugar de una única interfaz
de uso general. Como resultado de su aplicación, se facilita mantener una arquitectura desacoplada, resultando más
sencillo realizar refactorizaciones y modificaciones.
NetBeans IDE
¿Qué es NetBeans?
Netbeans es un software de desarrollo de código libre, especialmente dirigido para la creación de aplicaciones por medio del lenguaje de
programación Java, al mismo tiempo es multiplataforma, ya que posee herramientas y framework de aplicaciones que incluye soporte para
trabajar con otros lenguajes de programación, como el caso de PHP o Phyton, el cual facilita el proceso de diseño de aplicaciones de
escritorio, web o móviles, así mismo facilita la fase de desarrollo, así como la actualización, compilación, depuración prueba, junto con la
fase de implementación. En resumen se trata de un entorno de desarrollo integrado mucho más versátil y completo.
Desarrollo
Utilizando la IDE conocida o nombrada como Netbeans que aplica en lenguaje de codificación “java”.
En Netbeans creamos un proyecto nombrado: “SegregaciónInterfaces”, aparte creamos 3 clases con los nombres “Tucan”,”Loro”y
“Pinguino”.
En la clase Tucan creamos dos “to String ” que tengan una función “comer” y ”volar”.
En la clase Loro creamos dos “to String” que tengan una función “comer” y ”volar”.
En la clase Pinguino creamos dos “to String” que tengan una función “comer” y ”nadar”.
Esto permitirá la escritura de datos de la clase.
En la función principal invocamos directamente cada uno de las clases y esta nos escribe sus funciones conocidas como comer,
volar y nadar.
Conclusión
- El principio de segregación de interfaces nos ayuda a no obligar a ninguna clase a implementar métodos
que no utiliza. Esto nos evitará problemas que nos pueden llevar a errores inesperados y a dependencias
no deseadas. Además nos ayuda a reutilizar código de forma más inteligente.
- Investigar si todas las clases que implementen las interfaces expuestas con anterioridad vayan a necesitar
y ser capaces de agregar comportamientos a todos los métodos.
- Extender los conocimientos acerca de cada principio no solo enfocándose en el de segregación si no en
todo el S.O.L.I.D reforzando los conocimientos ya adquiridos con anterioridad
- Corroborar si al implementar una interfaz, uno o varios de los métodos no tienen sentido lo que ocasiona
que haga dejarlos vacíos o lanzar excepciones.