You are on page 1of 14

Patrones y Principios de Diseño

ESTRUCTURAS DE DATOS [B]


2do. Semestre 2018
Josué D. Itzep
Principio de Diseño

 Son principios/herramientas/guias que nos ayudan a evitar malos diseños y nos permiten
que el desarrollo de nuestras aplicaciones se realicen de una manera ordenada, que
sean mas entendibles, y mantenibles
Principios de Diseño

 SOLID
 DRY
 YAGNI
 KISS
SOLID

Set de principios de diseño, compuesto de los 5 siguientes:


 Single Responsability Principle: A class should have only one reason to change.
 Open Closed Principle: open for extension but closed for modifications.
 Liskov-Substitution Principle: Derived types must be completely substitutable for their base
types.
 Interface Segregation Principle: many client specific interfaces are better than one
general interface
 Dependency Inversion Principle: high level modules should not depend on low level
modules
Si C es una clase y S es una sub clase de C entonces se
podra usar una instancia de S donde se use una instancia
de C
DRY

 Don’t Repeat Yourself

 Dividir en pedazos mas pequeños, reutilizar


YAGNI

 You Arent Going to Need It

 No agregar funcionalidad hasta que sea necesaria,


 Reduce el desorden
 Mantenerlo simple
KISS

 Keep It Simple, Stupid

 Mantener el codigo limpio y entendible para los desarrolladores


Violaciones de los principios

 WET (Write Everithing Twice)


 STUPID (Singleton, Tight Coupling, Untestability, Premature Optimization, Indescriptive
Naming, Duplication)
Patrones de Diseño

 Es una solucion a un problema en un contexto


 Plantillas que ayudan a resolver distintos problemas de cierta manera
 Son Buenas practicas
 “Ya termine mi practica !!! Pero le hicieron cambios  “

 Singleton
 State
 Iterator
 Decorator
 Visitor
State

 https://sourcemaking.com/design_patterns/state/java/1
FIN

You might also like