Diseño basado en patrones
Un patrón de diseño es una solución estándar par aun problema común de programación.
Para que un patrón de diseño sea considerado como tal debe por lo menos de cumplir los siguientes enunciados:
Se debe de habercomprobado su efectividad. Debe ser reusable.
• Proporcionar un conjunto de elementos reusables en el diseño de sistemas. • Evitar la reiteración en la búsqueda de soluciones. • Formalizar un vocabulario común entre diseñadores. • Estandarizar el modo en que se realiza el diseño.
Nombre del patrón El problema La solución Las consecuencias
Un patrón de diseño se caracterizacomo “una regla de tres partes que expresa una relación entre cierto contexto, un problema y una solución
Un patrón de diseño se caracteriza como “una regla de tres partes que expresa una relación entre cierto contexto, un problema y una solución
Patrones Generativos y no Generativos
Patrones creacionales Patrones estructurales Patrones comportamiento
Estos se centranen la “creación, composición y representación” de los objetos
Algunas características de estos son:
Encapsulan el conocimiento sobre las clases concretas que utiliza. Oculta como las instancias de las clases son creadas. No son siempre excluyentes, a veces complementarios. Abstraen el proceso de instanciación
Factory Pattern Abstract Factory Pattern FactoryMethod Pattern Constructor Pattern Prototype Pattern Singleton Pattern
Mantiene el control de instancias interceptando la creación de estas.
Singleton
Static instancia_unica
Static getInstance()
La esencia del Factory Pattern, es definir una interfaz para crear un objeto, pero dejar a las clases que implementan la interfaz la decisión de cual clase instanciar.
MODELOLÓGICO
Cliente
Fabrica
Producto
Provee una interfaz para crear familias de relaciones u objetos dependiente sin especificar su clase concreta.
Describe como clases y objetos están compuestos para formar grandes estructuras.
Adapter
Bridge Composite Decorator Facade Flyweight Proxy
Adapta una interfaz para una clase en otra que espera un cliente. El adaptador permite aclases trabajar juntas que de otra manera no pudieran por interfaces incompatibles
Target: define la interfaz que el cliente usa Adapter: Este usa la interfaz adaptada y expone la Target interfaz al cliente. Adaptee: Este es el objeto cuya interfaz necesita ser adaptada. Client: esta usa la funcionalidad adaptada vía la interfaz adapter.
Vamos a ejemplificar este patrón. A continuacióntenemos un cliente el cual en su modelo tiene una interfaz llamada IAtacar que posee métodos para realizar un ataque, pero de acuerdo a diferentes habilidades (clases powerup) que el personaje puede adquirir en el transcurso del juego, la forma de atacar varia al igual que la invocación de esta haciendo inútil la interfaz que posee.
Cliente
IAttack Attack ()
CapePower
FlyCanyon()HammerPower
TrowHammers()
TailPower
HitTail()
Cliente
IAttack
Attack()
CapePowerAdapter
HammerPowerAdapter
TailPowerAdapter
CapePower FlyCanyon()
HammerPower TrowHammers()
TailPower HitTail()
Separa la abstracción de su implementación, así, ambos pueden variar de forma independiente.
Un patrón conductual explica como el objeto interactúa. Este describecomo diferentes objetos y clases envían mensajes a otros para hacer que sucedan cosas, y como los pasos de una tarea son divididos a través de diferentes objetos.
PATRONES COMPORTAMIENTO DE CLASES Estos usan gerencia, subclases y polimorfismo para ajustar los pasos que toma durante un proceso. Este se enfoca en cambiar exactamente el algoritmo usado o tarea realizada dependiendo de las...
Regístrate para leer el documento completo.