15-11-2014, 20:40
Hola compañeros, cómo están?
Les quería hacer alguna consultas del paradigma de objetos que me surgieron al hacer un parcial.
En primer lugar, si consideran correcta la implementación del punto 4 y 5.
PUNTO 4
#USUARIO
>> decimeTusMejoresAmigos
^amigos select: [unAmigo| unAmigo verTodasPublicaciones: self publicaciones]
** amigos y publicaciones son colecciones.
>> verTodasPublicaciones: colPublicaciones
^ colPublicaciones do:[unaPublicacion| unaPublicacion esVisiblepor: self]
Este self hace referencia al amigo que forma parte de la colección?
#PUBLICACION
>> esVisiblePor: unUsuario
^permiso validar: unUsuario
--- Tipos de permiso ---
#PUBLICO // cualquier persona puede ver la publi
>> validar: unUsuario
^true
#SOLOAMIGOS // solo los amigos del usuario pueden ver
>> validar: unUsuario
(^duenio amigos) esAmigo: unUsuario // se verifica que el amigo forme parte de la coleccion de amigos
#LISTABLANCA // solo los usuarios de la lista pueden ver
>> validar: unUsuario
^lista includes: unUsuario
#LISTANEGRA // los usuarios en la lista negra no pueden
>> validar: unUsuario
^(lista includes: unUsuario) not. // es correcto el uso del NOT? Lo que se intenta verificar acá es que si el usuario no forma parte de la lista negra entonces devuelva 'true', es decir, que es posible que pueda ver la publicación
PUNTO 5
#USUARIO
>> decimeTuAmigoMásPopular
^ amigos detectMax: [unAmigo| unAmigo cantidadTotalMeGusta]
El uso de detectMax es correcto o existe algún otro mensaje que mejore la implementación?
Lo que se intenta implementar acá es que cada amigo devuelva la cantidad total de me gusta, y entre todos ellos, elegir el que mayor cantidad tiene en total entre todas sus publicaciones.
>> cantidadTotalMeGusta
^publicaciones sum:[unaPubli| unaPubli cantidadMeGusta]
#PUBLICACION
>> cantidadMeGusta
^ cantMeGusta (es una variable de instancia).
Desde ya, mil gracias!!
Saludos!
Les quería hacer alguna consultas del paradigma de objetos que me surgieron al hacer un parcial.
En primer lugar, si consideran correcta la implementación del punto 4 y 5.
PUNTO 4
#USUARIO
>> decimeTusMejoresAmigos
^amigos select: [unAmigo| unAmigo verTodasPublicaciones: self publicaciones]
** amigos y publicaciones son colecciones.
>> verTodasPublicaciones: colPublicaciones
^ colPublicaciones do:[unaPublicacion| unaPublicacion esVisiblepor: self]
Este self hace referencia al amigo que forma parte de la colección?
#PUBLICACION
>> esVisiblePor: unUsuario
^permiso validar: unUsuario
--- Tipos de permiso ---
#PUBLICO // cualquier persona puede ver la publi
>> validar: unUsuario
^true
#SOLOAMIGOS // solo los amigos del usuario pueden ver
>> validar: unUsuario
(^duenio amigos) esAmigo: unUsuario // se verifica que el amigo forme parte de la coleccion de amigos
#LISTABLANCA // solo los usuarios de la lista pueden ver
>> validar: unUsuario
^lista includes: unUsuario
#LISTANEGRA // los usuarios en la lista negra no pueden
>> validar: unUsuario
^(lista includes: unUsuario) not. // es correcto el uso del NOT? Lo que se intenta verificar acá es que si el usuario no forma parte de la lista negra entonces devuelva 'true', es decir, que es posible que pueda ver la publicación
PUNTO 5
#USUARIO
>> decimeTuAmigoMásPopular
^ amigos detectMax: [unAmigo| unAmigo cantidadTotalMeGusta]
El uso de detectMax es correcto o existe algún otro mensaje que mejore la implementación?
Lo que se intenta implementar acá es que cada amigo devuelva la cantidad total de me gusta, y entre todos ellos, elegir el que mayor cantidad tiene en total entre todas sus publicaciones.
>> cantidadTotalMeGusta
^publicaciones sum:[unaPubli| unaPubli cantidadMeGusta]
#PUBLICACION
>> cantidadMeGusta
^ cantMeGusta (es una variable de instancia).
Desde ya, mil gracias!!
Saludos!