Hola Leandro,
 
Yo uso solo estos dos lineamientos para definir la interfaz de un repositorio:
 
- En general, cada aggregate root, tiene su repositorio.
- La interfaz del repositorio es similar a la de una coleccion. Es una coleccion
de objetos del tipo del aggregate root. Sus metodos serian: Add(), Remove(),
GetById(), GetByCriteria(), etc.
 
En otras palabras, siempre que necesites una o mas instancias del aggregate root
deberias accederlas mediante el repositorio con el query correspondiente.
 
Carlos


  _____  

From: patrones@mug.org.ar [mailto:[EMAIL PROTECTED] On Behalf Of Leandro
Tuttini
Sent: Miércoles, 25 de Julio de 2007 10:36 a.m.
To: patrones List Member
Subject: [patrones] Repository asignacion de responsabilidad


Hola Carlos, gracias por la repuesta.
 
Es mas o menos es lo que me imaginaba, poner el metodo que devuelve la lista de
tipos de limite asociado a la cuenta en el repositorio de tipo de limite.
 
Por supuesto la entidad cuenta tendra su propiedad que devuelva esta lista de
tipos, pero lo hara mediante la interfaz del repositorio de tipos de limite y de
seguro algun Factory.
 
La logica aplicada es mas o menos la que mencionaba, o sea se analiza lo que se
devuelve y se asigna la responsabilidad a la clase que meneja esta, o hay algo
mas genericos?.
 
 
Gracias

Carlos Peix <[EMAIL PROTECTED]> escribió:

Hola Leandro,
 
En el caso que describis el metodo, si fuese necesario, iria en el repositorio
de tipos de limite.Sin embargo, creo que el repositorio de cuentas deberia
deveolver una cuenta con su coleccion de tipos de limite, usando Lazy load por
ejemplo.
 
Carlos


  _____  

From: patrones@mug.org.ar [mailto:[EMAIL PROTECTED] On Behalf Of Leandro
Tuttini
Sent: Martes, 24 de Julio de 2007 10:11 a.m.
To: patrones List Member
Subject: [patrones] Repository asignacion de responsabilidad


Hola, que tal.
 
Me surgio una duda que es mas bien conceptual o de diseño y no tan tecnica.
 
Les planteo la situacion a ver que resultado se puede obtener.
 
Resulta que durante el diseño de la persistencia surgieron dudas que es dificil
ver que es lo correcto.
 
Tengo por ejemplo una clase de nombre "Cuenta", que por supuesto tiene su
repositorio, esta clase se une por medio de una relacion mucho a mucho con la
clase "Tipo de Limites", que por supuesto tambien tiene su repositorio.
 
Se que mietras se diseña no se piensa en relaciones pero es simplemente para
contarles la problematica.
 
La cuestion es si debo agregar el metodo para recuperar la lista de tipos de
limites asociados a la cuenta, donde deberia agregarse este metodo?, o sea en
que repositorio.
 
La logica indica que el metodo devolvera una lista de "tipos de limites",
(previo pasaje del identidicador de cuenta), por lo que deberia ir en el
repositorio de "Tipos de limites".
Pero tambien sabemos que las cuentas por su relacion con los "tipos de limites"
seran las unicas interesadas en recuperar esta relacion, por lo que agregarlo al
repositorio de cuentas no estaria del todo mal.
 
La cuestion es, cual es la correcta.
 
Bueno como veran no es una pregunta tecnica, sino mas bien de diseño, como se
deberia razonar en estos casos.
 
Gracias
Saludos
 
  _____  


¡Sé un mejor ambientalista!
Encontrá
<http://us.rd.yahoo.com/mail/ar/tagline/beabetter/*http://ar.yahoo.com/promos/me
jorambientalista.html> consejos para cuidar el lugar donde vivimos..





  _____  


¡Sé un mejor fotógrafo!
Perfeccioná
<http://us.rd.yahoo.com/mail/ar/tagline/beabetter/*http://ar.yahoo.com/promos/me
jorfotografo.html> tu técnica y encontrá las mejores fotos.


Responder a