Si entendiste la idea de los visitors DomainEvents es una forma de hacer lo
mismo pero en forma menos explicita, fijate en el comentario de Fabio al
post de Jose, y acordate que por mas lindo que sea el martillo nuevo se usa
un destornillador para un tornillo.

Gustavo.

2010/2/15 Roberto Ramírez <[email protected]>

> Muchas gracias d00t
>
> Entonces a lo que veo es que me toca buscar sobre Domain Events para
> resolver mi problema, dejando fuera a NH de esto... y pues Visitor ya
> lo había entendido, pero al parecer no me servirá..
>
> Saludos... =)
>
> On 15 feb, 11:15, Gustavo Ringel <[email protected]> wrote:
> > No, mas bien algo como esto:
> >
> > http://www.udidahan.com/2009/06/14/domain-events-salvation/
> >
> > <http://www.udidahan.com/2009/06/14/domain-events-salvation/>Listeners
> de NH
> > para algo que no es especifico de datos como la creacion de un movimiento
> > quiere decir que a una regla de negocios la estas todavia atendiendo a
> nivel
> > de datos.
> >
> > A mi gusto Listeners de NH se pueden usar para auditoria, tracing, o
> cosas
> > que son especificas de la capa de datos y que el dia que tiras la capa de
> > datos no tienen mas utilidad para tu negocio.
> >
> > Con Domain Events la idea es en el momento en que pasa algo avisar que
> paso
> > por ejemplo DomainEvents.FacturaGuardada(new FacturaGuardadaEvent() {
> > Factura = factura, Detalles = detallesList })
> >
> > Vos tenes en algun lado un SalvarMovimientosHandler :
> > Handles<FacturaGuardadaEvent> y al atender el evento guarda un movimiento
> en
> > la base por cada detalle.
> >
> > Gustavo.
> >
> > 2010/2/15 Roberto Ramírez <[email protected]>
> >
> >
> >
> > > Muchas gracias por la respuesta Gustavo, me queda claro lo que
> > > comentas.
> >
> > > Una cuestión pequeñita... ¿un evento de dominio == listeners de nh?
> >
> > > On 15 feb, 10:51, Gustavo Ringel <[email protected]> wrote:
> > > > No entiendo exactamente donde entra NH en la consullta.
> > > > Es decir, el codigo que yo pienso para resolver eso al menos es
> > > > independiente de la capa de persistencia, tambien los visitors  de
> Jose
> > > son
> > > > independientes de la capa de persistencia.
> >
> > > > Creo que NH no es un factor para la decision de negocio. Podrias
> > > > transformarlo en un factor si quisieras usar Listeners o alguna cosa
> > > > especifica de NH para guardar el movimiento.
> >
> > > > En mi caso el servicio que guarda la factura y los detalles llama al
> > > > Dao/Repositorio que sabe guardar una factura y sus detalles y se
> genera
> > > un
> > > > evento de dominio para cada detalle de factura.
> >
> > > > Otro componente recibe esos eventos y se encarga de guardar los
> > > movimientos.
> >
> > > > Los visitors de Jose hacen algo parecido a eso, pero creo que tambien
> > > Jose
> > > > para esos casos  favorece domain events hoy en dia :)
> >
> > > > Gustavo.
> >
> > > > 2010/2/15 Roberto Ramírez <[email protected]>
> >
> > > > > Buenos días a todos.
> >
> > > > > ¿Puedo resolver con nhibernate esto o es un error en mi modelo?
> >
> > > > > Yo guardo una factura con su respectivo detalle, dentro de mi
> modelo
> > > > > yo necesito generar un movimiento en inventario y por cada
> movimiento
> > > > > guardar la referencia del detalle de la factura así:
> >
> > > > > Factura ==> Detalle ==> Movimiento
> >
> > > > > El proceso del movimiento al inventario es un paso intermedio al
> > > > > momento de guardar-actualizar mi factura.
> >
> > > > > En mi modelo, el detalle de la factura no conoce los movimientos en
> el
> > > > > inventario, pero el movimiento si conoce a que detalle de factura
> > > > > pertenece.
> >
> > > > > ¿Como identificar la referencia del detalle para insertarla en el
> > > > > movimiento si todo se ejecuta en un solo request
> (Session-Per-Request)
> > > > > y aun no conozco la referencia del detalle que se guardo en la base
> de
> > > > > datos?
> >
> > > > > Uso Visitor como patron de diseño tomado del post de J. Rommaniello
> > > > >
> http://jfromaniello.blogspot.com/2009/11/caso-practico-patron-visitor.
> > > ..
> > > > > ,
> > > > > el proceso del movimiento lo realizo en un Visitor.
> >
> > > > > Muchas gracias por su ayuda.
> >
> > > > > --
> > > > > Para escribir al Grupo, hágalo a esta dirección:
> > > > > [email protected]
> > > > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano
> >
> > > --
> > > Para escribir al Grupo, hágalo a esta dirección:
> > > [email protected]
> > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano
>
> --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a