Mindmap
Patrones de diseño

Inhalt der Mindmap
Patrones de diseño
- descripciones de clases y objetos relacionados que estan particularizados para resolver un problema de diseño en un determinado contexto
ELEMENTOS
- Nombre
- describe el problema junto con sus soluciones y consecuencias
- Problema
- describe cuando aplicar el patron. Explica el problema y su contexto
- Solucion
- describe los elementos, sus relaciones, responsabilidades y colaboraciones
- Consecuencias
- ventajas e inconvenientes de aplicar el patron
- Nombre
CREACIONALES
- abstraen el proceso de creacion de instancias
- Builder
- Proposito: separa la construccion de un objeto complejo de su representacion, de forma que se puedan crear distintas representaciones
- Aplicabilidad: -el algoritmo para crear un objeto deberia ser independiente de las partes que componen a dicho objeto -se deben crear distintas representaciones del objeto
- consecuencias: -permite variar la representacion de un objeto -los clientes no saben las clases que definen a un producto -mayor control sobre el proceso de construccion
- Prototype
- Proposito: especifica el tipo de objeto a crear por medio de una instancia, y crea nuevos objetos copiando dicha instancia
- Aplicabilidad: -cuando un sistema debe ser independiente de como se crean y componen sus productos -cuando las clases a instanciar se especifican en tiempo de ejecucion -cuando las instancias de una clase a crear solo pueden tener uno entre unos pocos estados diferentes
- consecuencias: -añadir y eliminar productos en tiempo de ejecucion -especificar nuevos objetos cambiando valores -especificar nuevos objetos variando la estructura -reduce la herencia -inicializar el estado de los clones
ESTRUCTURALES
- se ocupa de como se combinan las clases y objetos para formar estructuras mas grandes
- Bridge
- proposito: -desacopla una abstraccion de su implementacion
- aplicabilidad: -quiere evitar un enlace permanente entre una abstraccion y su implementacion -abstraccion e implementacion deben ser extensibles mediante herencia -cambios en la implementacion no deberia afectar al cliente -quiere compartir una implementacion entre varios objetos
- consecuencias: -desacopla la interfaz de la implementacion -mejora la extensibilidad -oculta detalles de implementacion
- Facade
- proposito: -unifica un conjunto de interfaces en una sola
- aplicabilidad: -hacer un sistema mas facil de utilizar -para desacoplar los clientes de otros subsistemas -cuando queremos dividir en capas nuestros subsistemas
- consecuencias: -oculta al cliente los subsistemas (reduce el numero de objetos con el que tratan los clientes) -desacopla el cliente de los subsistemas -no impide que los clientes utilicen las clases de los subsistemas
- Flyweight
- proposito: -permite compartir un gran numero de objetos de forma eficiente
- aplicabilidad: -una aplicacion debe utilizar un gran numero de objetos -los costos en memoria son grandes debido a la gran cantidad de objetos -el estado de un objeto puede hacerse extrinseco -muchos objetos pueden reemplazarse por pocos objetos compartidos -
- consecuencias: -costes en tiempo de ejecucion debido a busquedas del estado extrinseco de un objeto -ahorro en almacenamiento
- Proxy
- proposito: controla el acceso a un objeto
- aplicabilidad: -proxy remoto: representa un objeto en otro espacio de memoria -proxy virtual: crea objetos por encargo -proxy de proteccion: controla el acceso al objeto original
- consecuencias: -proxy remoto: oculta el hecho de que un objeto reside en un espacio de memoria distinto -proxy virtual: crear objetos por encargo mejora el rendimiento -proxy de proteccion: realiza mantenimiento sobre el objeto al que accede
Bilder und Dateien der Mindmap
Informationen
- Beschreibung
- Mindmap am Patrones de diseño, erstellt von Franco Palermo am 30/09/2017.
- Erstellt von
- Franco Palermo · Sep 2017
- Aktualisiert
- 3 Okt 2017
- Aufrufe
- 3
- Bewertung




