miércoles, 8 de diciembre de 2010

Semana 9 - Design Patterns

Patrones de creación

Los patrones de creación proporcionan ayuda a la hora de crear objetos. Ayudan a estructurar y encapsular las decisiones. Un patrón de creación asociado a objetos delegará la instanciación a otro objeto.

Para este tipo de patron nos basaremos en el Patron Factory.

Consiste en utilizar una clase constructora abstracta con unos cuantos métodos definidos y otros abstractos: el dedicado a la construcción de objetos de  un subtipo de un tipo determinado.

Las ventajas de este patrón son:

- Separa la responsabilidad de la creación complja en objetos de apoyo cohesivos.
- Ocultan la logica de creacion potencialmente compleja.
- Permiten introducir estrategias para mejorar el rendimiento de la destión de la memoria, como objetos caché o de reciclaje.

Para este tipo de patrón encontre un video que al menos a mi me dejo muy claro el concepto:http://geeks.ms/blogs/gperez/archive/2009/08/24/patrones-de-dise-241-o-screencast-capitulo-2-patr-243-n-factory.aspx

Para aterrizar este concepto me basare en mi proyecto individual y usare la Poliza.

Actualmente se manejan 4 tipos de poliza; pero como cualquier negocio siempre esta queriendo crecer; en un futuro se quedran agregar nuevos tipos de poliza;  para no rehacer nuestra clase poliza; utilizaremos la clase Poliza abstracta.

Aqui el ejemplo:


Patrones Estructurales

Los patrones estructurales están relacionados con cómo las clases y los objetos se combinan para dar lugar a estructuras más complejas.

Para este tipo de patron nos basaremos en el Patron Composite.

El patrón Composite sirve para construir objetos complejos a partir de otros más simples y similares entre sí, gracias a la composición recursiva y a una estructura en forma de árbol..

Ventajas:

- Permite tratamiento uniforme de objetos simples y complejos así como composiciones recursivas
- Facilita añadir nuevos componentes

Para este patron me apoye en el libro:
UML y Patrones
Una Introducción al anáalisis y diseño orientado a objetos y al proceso unificado
2da Edición
Craig Larman
Pretince Hall

Para aterrizar el patrón me volvere a apoyar en la clase Poliza; pero esta vez en el precio.

Para obtener el precio de una poliza; existen muchas variantes:
- La compañia (cada compañía maneja distintos precios).
- Tipo de Poliza.
- Forma de Pago (en caso de ser a credito aumenta el precion=.
- Cobertura (amplia, terceros, etc.)


Patrones de Comportamiento

Estos patrones de diseño están relacionados con algoritmos y asignación de responsabilidades a los objetos. Los patrones de comportamiento describen no sólamente patrones de objetos o clases sino también patrones de comunicación entre ellos.

Para este tipo de patron nos basaremos en el Patron Strategy.

Define una familia de algoritmos, encapsula uno de ellos y los hace intercambiables. Permite que un algoritmo varie independientemente de los clientes que lo usan. Define un grupo de clases que representan un conjunto de posibles comportamientos. Estos comportamientos pueden ser facilmente intercambiados en una aplicacion, modificando la funcionalidad en cualquier instante.

Ventajas:

- Proporciona una alternativa a la creación de subclases de la clase Context para obtener una variedad de algoritmos o comportamientos
- Proporciona una variedad de implementaciones para el mismo comportamiento

Para este patrón me base en:
http://userpages.umbc.edu/~tarr/dp/lectures/StateStrategy.pdf
http://patronesdediseno.blogspot.com/2009/05/patron-strategy.html
http://www.dofactory.com/Patterns/PatternStrategy.aspx

Para aterrizar este patrón me base en la clase de usuarios y en el metódo para Ingresar al Sistema.

Dependiendo del Rol que tiene cada usuario es a la sección que accesa.
- Si es administrador General accesa a la sección de Administración de Usuarios.
- Si es administrador accesa a la sección de Administraciún de catálogos.
- Si es usuario normal; accesa a la sección de Polizas.

1 comentario: