Programacion
Existen algunos síntomas que nos indican que el diseño de un sistema es bastante pobre
Rigidez
(las clases son difíciles de cambiar)
Cuantos másmódulos haya que tocar para hacer un cambio, más rígido es el sistema.
Fragilidad
(es fácil que las clases dejen de funcionar)
Conforme la fragilidad de un sistema aumenta, la probabilidad de que uncambio ocasione nuevos quebraderos de cabeza también aumenta.
Inmovilidad
(las clases son difíciles de reutilizar)
Aunque un diseño incorpore elementos potencialmente útiles, su inmovilidad haceque sea demasiado dificil extraerlos.
Viscocidad
(resulta difícil usar las clases correctamente)
La alternativa más evidente y fácil de realizar ha de ser aquélla que preserve el estilo deldiseño.
Complejidad Innecesaria
(sistema “sobrediseñado”)
La complejidad innecesaria hace que el software sea más dificil de entender
Repetición inecesaria
(“Copiar y pegar” resulta perjudicial ala larga.)
El código duplicado debería unificarse bajo una única abstracción
Opacidad
(Código enrevesado difícil de entender.)
Escribimos código para que otros puedan leerlo (y entenderlo)Afortunadamente, también existen algunos principios heurísticos que nos ayudan a eliminar los síntomas anteriormente mencionados:
Principio de responsabilidad única
Principio abierto-cerradoPrincipio de sustitución de Liskov
Principio de inversión de dependencias
Principio de segregación de interfaces
Una clase debe tener un único motivo para cambiar.
Una razón de cambio sóloes una razón de cambio
si el cambio llega a producirse realmente.
Los módulos deben ser a la vez abiertos y cerrados: abiertos para ser extendidos y cerrados para ser usados
Debe ser posibleextender un módulo para ampliar su conjunto de operaciones y añadir nuevos atributos a sus estructuras de datos.
Un módulo ha de tener un interfaz estable y bien definido (que no se m modificará...
Regístrate para leer el documento completo.