|
Hola Diego, Diego Gomez Deck escribió: mmmm... a ver si nos entendemos... para MI, esto es instanciar un mensaje:El emisor instancia un ENVIO de mensaje, no el mensaje en si. Message receiver: self selector: #triggerEvent: arguments: #(#closeApplication) Estamos de acuerdo? O a esto vos le llamás instanciar el ENVÍO de un mensaje? Este sería el selector del mensaje (falta el receptor y los argumentos) ;-)Bueno, como te decía antes, un envío de mensaje es una cosa, y el mensaje en si es otra... vamos a un ejemplo:Mensaje: -------- #baila -> cuando el receptor recibe el mensaje #baila este (el receptor) baila un tango. Envío de Mensaje: ----------------- diego baila. -> esto es un envío del mensaje #baila, particularmente a diego. De acuerdo! Message receiver: diego selector: #baila arguments: #() Por lo que entiendo, según lo que decís la instanciación de un mensaje significa el ENVÍO pero no significa su ejecución? Entonces el mensaje no es un mensaje hasta no se le envíe el mensaje perform? ;-) Ok, lo que no comparto para nada es el comentario :-)Una implementación del mensaje (aka un Método): ----------------------------------------------- PesimoBailador>>baila "Los pésimos bailadores no hacemos mas que mover las manos" self manos mover. Depende que estés leyendo. ¿Que querés saber?, opciones: - Que tendría que hacer *cualquier* objeto cuando recibe un envío de mensaje particular. Me refiero a un comentario del tipo "Los objetos bailan cuando reciben este mensaje". - Que hace UN objeto en particular cuando recibe el mensaje. Un comentario tipo "Los pésimos bailadores sólo sabemos mover las manos". - O como se baila para un determinado objeto: Para que el receptor baile, tenemos que enviar el mensaje #mover a las manos. No me convencen las propuestas anteriores, el comentario debe explicar QUÉ hace ese objeto al recibir ese mensaje. De manera única para cualquier objeto que lo reciba. El tema de CÓMO lo hace ya no pertenece al comentario del mensaje, ya sería comentario de implementación del método, y acá ya nos metemos en otro tipo de comentarios, en los cuales estoy de acuerdo en que "casi" no deberían existir, puesto que si tenemos que comentar cómo estamos haciendo las cosas es un fuerte indicador de que estamos en presencia de un método engorroso. Se entiende? Por ejemplo, supongamos que tenemos: Bailador BailadorPesimo BailadorProfesional El Comentario del mensaje baila será el mismo para los tres, independientemente de su implementación (método asociado). Y en este caso, en Bailador, aparte del comentario del mensaje, agregaría un comentario implementativo, por ejemplo: Bailador>>destreza "Devuelve la destreza que caracteriza al receptor. NOTA: Este método debería estar implementado en las subclases." self subclassResponsibility Seguramente me dirás que se duplican los comentarios y la respuesta es SÍ, IMHO el comentario de los mensajes es EL MISMO independientemente de su implementación
Y si, se puede hacerlo en la implementación de cada método con lo que como bien decís se duplica, pero es justo y necesario. :-) No, si se comenta la implementación del método esta NO debería ser la misma en distintas implementaciones.Entonces hay otra duplicación: El comentario vs. la implementación del método. Guiye>>saludosComentados saludos, "Devuelve un saludo dependiendo del interlocutor actual del receptor." "NOTA: Este método lo implementamos con un hermoso CASE para el desagrado de todo Smalltalker :-)" ^self interlocutor esAmigo ifTrue: [self fuerteAbrazo] ifFalse: [self interlocutor esConocido ifTrue: [self saludosCordiales] ifFalse: [self interlocutor esParienteLejano ifTrue: [....] ifFalse: [...]]] Abrazo! Guiye-- Diego --~--~---------~--~----~------------~-------~--~----~ Ha recibido este mensaje porque está suscrito a Grupo "clubSmalltalk" de Grupos de Google. Si quieres publicar en este grupo, envía un mensaje de correo electrónico a [email protected] Para anular la suscripción a este grupo, envíe un mensaje a [EMAIL PROTECTED] Para obtener más opciones, visita este grupo en http://groups-beta.google.com/group/clubSmalltalk?hl=es. -~----------~----~----~----~------~----~------~--~--- |
- [clubSmalltalk] Re: Prog... Esteban A. Maringolo
- [clubSmalltalk] Re: Programa... Diego Gomez Deck
- [clubSmalltalk] Re: Prog... Esteban A. Maringolo
- [clubSmalltalk] Re: Prog... Okushi
- [clubSmalltalk] Re: Prog... Diego Gomez Deck
- [clubSmalltalk] Re: Prog... Esteban A. Maringolo
- [clubSmalltalk] Re: Prog... Diego Gomez Deck
- [clubSmalltalk] Re: Prog... Diego Roig Seigneur
- [clubSmalltalk] Re: Prog... Diego Gomez Deck
- [clubSmalltalk] Re: Prog... Esteban A. Maringolo
- [clubSmalltalk] Re: Prog... Guillermo Sapaya
- [clubSmalltalk] Re: Prog... Norberto Manzanos
- [clubSmalltalk] Re: Prog... GallegO
- [clubSmalltalk] Re: Prog... Gustavo Ibarra
- [clubSmalltalk] Re: Prog... Esteban A. Maringolo
- [clubSmalltalk] Re: Prog... Gustavo Ibarra
- [clubSmalltalk] Re: Prog... Facundo Vozzi
- [clubSmalltalk] Re: Prog... Santiago Cardoso Geller
- [clubSmalltalk] Re: Prog... Santiago Cardoso Geller
- [clubSmalltalk] Programando con Smalltak (El Libro... Andres Poncelas
