Relaciones de conocimientos entre componentes #136
-
Buenaas, tenia una duda que me surgio en la iteracion 5 de q me pongo. Para tener guardarropas compartidos, un usuario puede tener una lista de los mismos, y para relacionar a otros usuarios recibirlos por parametros y delegarle al guardarropa que lo agregue, o recibir el guardarropas y delegarle al guardarropas que se agregue a si mismo:
o tal vez:
O incluso pedirle al objeto guardarropa que agregue directamente al usuario sin intermedio del usuario y que este no los tenga dentro de una lista. Pero ahi viene mi duda, si quisiéramos saber los guardarropas compartidos de un usuario y ademas las personas que comparten un guardarropa. Es un code smell que un usuario tenga una lista de guardarropas y un guardarropas una lista de usuarios no? por la bidireccionalidad de conomiento. Es tal vez ese mas un problema que se relaciona con la base de datos que luego veremos y ahora me concentro en las funcionalidades? o hay una forma de solucionarlo sin esa dificultad? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
no precisamente son un smell, son cosas que en general se tratan de evitar por un tema de mantener consistente la bidireccionalidad y que no siempre la necesitas.
Se puede resolver a nivel objetos también. Así que sería independiente de la base de datos, incluso en el segundo cuatrimestre vamos a ver que lo que podamos hacer con la base de datos también esta muy relacionado con las relaciones que definimos en objetos.
Se puede, en el modelado de objetos a veces aparecen objetos que son los encargados de conocer a todas las instancias de cierto tipo, a estos objetos los llamamos Repositorios -en otras terminologías los llaman Home o DAO, aunque este último nombre no me gusta tanto porque te lleva a un acoplamiento a saber de donde saca la información - Por ejemplo si tuvieras un Repositorio de Usuarios podrías pedirle que usuarios tienen cierto Guardarropa y con eso te evitas tal vez la bidireccionalidad. |
Beta Was this translation helpful? Give feedback.
-
Graciaaas! |
Beta Was this translation helpful? Give feedback.
no precisamente son un smell, son cosas que en general se tratan de evitar por un tema de mantener consistente la bidireccionalidad y que no siempre la necesitas.
Se puede resolver a nivel objetos también. Así que sería independiente de la base de datos, incluso en el segundo cuatrimestre vamos a ver que lo que podamos hacer con la base de datos también esta muy relacionado con las relaciones que definimos en objetos.