Patrones gasp
GRASP: Patrones que describen los principios fundamentales de la asignación deresponsabilidades a objetos. Éstos ofrecen un conjunto explicable de técnicas especializadas con las cuales podemos construir sistemas bien diseñados que se orienten a objetos.
• Polimorfismo
•Fabricación pura
• Indirección.
• No hables con extraños.
Polimorfismo
Asigna el mismo nombre a servicios en diferentes objetos.
Se tiene que hacer uso del polimorfismo cuando lasalternativas o comportamientos relacionados varían según el tipo (clase) ej: pagar con tarjeta, pagar en efectivo, pagar con cheque, etc. Cada tipo de pago de pago se autoriza a sí mismo (esencia de laorientación a objetos)
[pic]
Fabricación pura
Se da en las clases que no representan un ente u objeto real del dominio del problema, sino que se ha creado intencionadamente para disminuir elacoplamiento, aumentar la cohesión y/o potenciar la reutilización del código. Es la solución cuando el diseñador se encuentre con una clase poco cohesiva y no tenga otra clase en la que implementaralgunos métodos. Es decir que es una clase "inventada" o que no existe en el problema como tal, pero que añadiéndola se logra mejorar estructuralmente el sistema.
Ej: se necesita guardar en una base dedatos las instancias Venta. Sería lógico que le asigne esta tarea a la clase Experto Venta, pero daría origen a un diseño de baja cohesión, alto acoplamiento y bajo potencial de reutilización (temasdel capítulo anterior). Una solución sería crear una clase que se encargue de guardar los objetos en la base de datos.
[pic]
Indirección
Problema: ¿Dónde asignar responsabilidades para evitar/reducirel acoplamiento directo entre elementos y mejorar la reutilización?
Solución: Asigne la responsabilidad a un objeto que medie entre los elementos.
El patrón de indirección nos aporta mejorar el...
Regístrate para leer el documento completo.