Tema: Patrones
Ver Mensaje Individual
  #10 (permalink)  
Antiguo 17/09/2008, 15:38
davi_porta
 
Fecha de Ingreso: septiembre-2008
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Patrones

Estoy usando visual foxpro 9.0 (y java). Sí tiene excepciones pero no las quiero manejar en el objeto de la capa de presentación para que no tenga responsabilidad alguna en el dominio de la aplicación, es por esto que tengo clases controladoras que se encargan de llevar a cabo los controles sobre objetos del dominio, y es ésta clase la que se encarga de que se respeten las reglas de negocio y en caso contrario de avisar qué regla no se ha validado (por ej. "El cliente no esta registrado").
Pero según tu respuesta, me estas aconsejando que la clase controladora se encargue de publicar a todos los objetos oyentes (mas bien él objeto) que se ha producido una excepción dentro del dominio y que éstos objetos se encargue de tratarlas según corresponda.

En resumen tendría que aplicar el patrón observador para tratar las excepciones que se puedan producir, entonces si se produce una excepción en la clase controladora:
Invoco al método

this.publicarExcepcion(nombre, valor)

Este método se encargaría de avisarle a sus oyentes (en este caso un formulario) de que se ha producido una excepción:

this.oyente.ocurrioExcepcion(nombre,valor) (puede que haya mas de un oyente)

Entonces el oyente al recibir este mensaje hace:
do case
case nombre == "Cliente invalido"
mostrarMensajeInformacion(valor)
case nombre == "Base Datos Bloqueada"
mostrarMensajeError(valor)
endcase

De esta manera capturaría la excepción producida y a su vez el método identificarCliente(idCliente) retornaría null.

Guille muchas gracias por tus respuestas..., espero no estar abusando de tu generosidad.