Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



martes, 12 de noviembre de 2013

Patron Visitor: Ejemplo Cliente y Operador


Patron Visitor:  

Ejemplo Cliente y Operador



Este patrón permite definir una nueva operación sin cambiar las clases de los elementos sobre los cuales éste opera. Proporciona un marco genérico para soportar operaciones sobre un grupo de clases


Esquema de http://adrysmodelos.blogspot.com.es/

Ejemplo:
Tenemos varios tipos de usuario en una agencia de viaje: los operadores y los clientes.
Los operadores tienen un descuento del 30 % y los clientes tienen un 10 %.
Además reciben un regalo cuando se apuntan a la agencia, que es una Caja de Vino, Jamón y Queso para los operadores y una botella de vino para los clientes.
Añadir métodos,  como nueva operación, a la clases para poder aplicar descuentos y regalos.

Esquema del Proyecto, siguiendo el patron Visitor:

- Clase UsuarioVisitor (Visitor):
A continuación las clases que heredan de visitor, y donde se desarrolla el codigo de los métodos:
-Clase UsuarioDescuentoVisitor

-Clase UsuarioPrintVisitor

-Clase UsuarioRegaloVisitor


Ahora definimos la parte de los Elementos y Elementos Concretos:
Clase Usuario (Element):
->

Clase Operador:
->
Clase Cliente:
->

-Programa Principal
-
Salida por pantalla:




Fuente: enlace de descarga codigo de ejemplo


Referencias:
http://www.codeproject.com/Articles/12508/Dude-are-you-still-programming-using-if-then-else
http://adrysmodelos.blogspot.com.es/