Mapa mental
Principios SOLID

Conteúdo do mapa
Principios SOLID
Serie de cinco principios
- Para programación orientada a objetos.
Objetivo
- Software
- Limpio
- Flexible
- Escalable
- Mantenible
- Software
Código con
- Cohesión
- Tiene un único propósito
- Clases, métodos y propiedades
- Definen una funcionalidad única.
- Acoplamiento
- Grado de independencia que tienen dos piezas de software entre sí.
- Cohesión
Responsabilidad Única
- Un objeto debe realizar una única cosa.
- Como detectar el incumplimiento de este principio
- En una clase están involucradas dos capas de la arquitectura.
- Qué una clase tenga muchos métodos públicos y tengan poco que ver entre ellos.
- Cuando un campo con sus correspondientes métodos podrían formar una clase independiente.
- Demasiadas importaciones de clases para hacer nuestro trabajo.
- Nos cuesta testear la clase.
- Si una clase se modifica a menudo, es porque está involucrada en demasiadas cosas.
- Si una clase es demasiado grande, se intenta dividirla en clases más manejables.
- Protege nuestro código frente a cambios.
Open/Closed
- Una entidad de software debería estar abierta a extensión pero cerrada a modificación.
- Se suele resolver utilizando polimorfismo.
- Como detectar el incumplimiento de este principio
- Darnos cuenta de qué clases modificamos más a menudo.
Sustitución de Liskov
- Si el código usa una clase extendida, puede utilizar las clases hijas y el programa sigue siendo valido.
- Como detectar el incumplimiento de este principio
- Si un método sobrescrito no hace nada o lanza una excepción.
- Si los tests de la clase padre no funcionan para la hija.
Segregación de interfaces
- Ninguna clase debería depender de métodos que no usa.
- Las interfaces nos ayudan a desacoplar módulos entre si.
- El problema
- Surge cuando las interfaces intentan definir más cosas de las debidas.
- A esto se le denomina fat interfaces.
- Surge cuando las interfaces intentan definir más cosas de las debidas.
- Como detectar el incumplimiento de este principio
- Si uno o varios métodos no tienen sentido.
Inversión de dependencias
- Los módulos de alto nivel no dependen de módulos de bajo nivel.
- Ambos dependen de abstracciones.
- Las abstracciones no dependen de los detalles.
- Los detalles dependen de las abstracciones.
- Las abstracciones no dependen de los detalles.
- Ambos dependen de abstracciones.
- Como detectar el incumplimiento de este principio
- Cualquier instanciación de clases complejas o módulos.
- Los módulos de alto nivel no dependen de módulos de bajo nivel.
Imagens e arquivos do mapa
Informações
- Descrição
- Mapa Mental sobre Principios SOLID, criado por Nay Cr em 13-09-2022.
- Criado por
- Nay Cr
- Visualizações
- 1
- Avaliação
Mais sobre Análisis y diseño orientado a objetos


















