Reflection para obtener el hashcode?

2011/2/18 Juan Cuello <[email protected]>

> Acabo de encontrar una implementación mejor:
>
>
> http://sharp-architecture.googlecode.com/svn/trunk/src/SharpArch/SharpArch.Core/DomainModel/BaseObject.cs
>
> Y con ésta y algún atributo marcando las propiedades que intervienen
> ni siquiera se necesita que las clases derivadas intervengan en Equals
> y GetHashCode...
>
> Y encima soporta natural-id!
>
> Voy a incorporarlo :)
>
> On 18 feb, 12:40, Juan Cuello <[email protected]> wrote:
> > Vamos... que lo sigo implementando en mis clases... :)
> >
> > Vi una implementación hace ya mucho tiempo y siempre uso esa en una
> > clase base:
> http://devlicio.us/blogs/billy_mccafferty/archive/2007/04/25/using-eq...
> >
> > Esa implementación me gusta porque hace que las entidades sólo tengan
> > que implementar el GetHashCode. Pero con esa implementación no puedo
> > usar natural-id... Nadie es perfecto :)
> >
> > Por cierto, ¿por qué se sigue utilizando el Iesi Collections? Yo
> > pensaba que para NH 3 desaparecería. Alguien me dijo creo que era por
> > el tema de ISet. ¿Tal vez es por compatibilidad?
> >
> > On 17 feb, 23:41, Carlos Peix <[email protected]> wrote:
> >
> >
> >
> >
> >
> >
> >
> > > Pucha...
> >
> > > Retiro lo dicho entonces, tendre que investigar...
> >
> > > ----------------------------------
> > > Carlos Peix
> >
> > > 2011/2/17 Fabio Maulo <[email protected]>
> >
> > > > para NH, en si, no es obligatorio.
> > > > Peeeeeeeeeeeero:
> > > > 1) la mejor collection para DDD es un set
> > > > 2) set es una de la collections mas usada en dominios
> > > > 3) si no tenes getHashCode/Equals y trabajas con Set es probables que
> en
> > > > algun momentos llores
> >
> > > > De allí en mas podemos discutir cuanto quieras y hasta te puedo decir
> que
> > > > para one-to-many es casi siempre preferible usar List y hacer el
> control de
> > > > duplicacción en el ADD solo si realmente lo necesitas (con <bag> el
> Add no
> > > > necesita inicializar la collection).
> >
> > > > 2011/2/17 Carlos Peix <[email protected]>
> >
> > > >> e per que? El link que envio Edgar es claro al respecto...
> >
> > > >> Hay riesgo suponiendo que siempre trabajo con una unica sesion y con
> > > >> objetos persistentes?
> >
> > > >> En otras palabras, es obligatorio sobre escribir Equals y
> GeHashcode?
> >
> > > >> ----------------------------------
> > > >> Carlos Peix
> >
> > > >> 2011/2/17 Fabio Maulo <[email protected]>
> >
> > > >>> bah... despues no llores si no te andan los ISet
> >
> > > >>> 2011/2/17 Carlos Peix <[email protected]>
> >
> > > >>>> O podes no implementarlos...
> >
> > > >>>> Carlos Peix
> > > >>>> (desde el teléfono móvil)
> >
> > > >>>> El 17/02/2011, a las 12:51, José F. Romaniello <
> [email protected]>
> > > >>>> escribió:
> >
> > > >>>> hola Juan pronto estará disponible el vídeo de una VAN que hicimos
> el
> > > >>>> sábado pasado con Nelo en AltNet hispano. En un momento de la VAN
> discutimos
> > > >>>> este tema con Fabio..
> >
> > > >>>> El tema es el siguiente, cuando no tenes ID en el dominio,
> generalmente
> > > >>>> tenes natural-id. Osea que podes usar eso para implementar Equals
> y
> > > >>>> GetHashCode
> >
> > > >>>> El 17 de febrero de 2011 12:42, Juan Cuello < <
> [email protected]>
> > > >>>> [email protected]> escribió:
> >
> > > >>>>> Hola,
> >
> > > >>>>> He visto por ahí que podemos tener una entidad del dominio sin
> una
> > > >>>>> propiedad id que se mapee con el campo id de la base de datos.
> Eso me
> > > >>>>> parece genial, ya que considero que el ID es de la base de datos,
> no
> > > >>>>> tiene por qué ser del dominio.
> >
> > > >>>>> Pero se me ocurre una pregunta importante. En mi clase base para
> las
> > > >>>>> entidades del dominio, tengo un Equals y GetHashCode. En el
> Equals, si
> > > >>>>> la entidad tiene ID establecido, comparo ID's...
> >
> > > >>>>> ¿Cómo se haría el equals y el gethashcode si no tengo id's en la
> > > >>>>> entidad?
> >
> > > >>>>> Gracias
> >
> > > >>>>> --
> > > >>>>> Para escribir al Grupo, hágalo a esta dirección:
> > > >>>>> <[email protected]>
> > > >>>>> [email protected]
> > > >>>>> Para más, visite: <
> http://groups.google.com/group/NHibernate-Hispano>
> > > >>>>>http://groups.google.com/group/NHibernate-Hispano
> >
> > > >>>>  --
> > > >>>> Para escribir al Grupo, hágalo a esta dirección:
> > > >>>> <[email protected]>
> > > >>>> [email protected]
> > > >>>> Para más, visite: <
> http://groups.google.com/group/NHibernate-Hispano>
> > > >>>>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
> >
> > > >>> --
> > > >>> Fabio Maulo
> >
> > > >>>  --
> > > >>> 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
> >
> > > > --
> > > > Fabio Maulo
> >
> > > >  --
> > > > 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