> Como bien sabés no hay métodos privados en Smalltalk, y el comment que > se usa como "Private..." orienta a que se use preferentemente con el > mismo objeto como emisor. No indica que no se debe usar. > Un método tiene tantos motivos para existir como senders en la imagen > donde vive, si no hay senders (references en Dolphin) no hay razones > para existir.
Supongamos un tipico metodo de Integer: + aNumber self subclassResponsibility En efecto, + se redefine en SmallInteger y los LargeIntegers, asi que la implementacion de Integer efectivamente no tiene senders. Pero esto no quiere decir que haya que borrar Integer>>+ junto con todos los otros senders de subclassResponsibility y shouldNotImplement. Con los accessors a veces pasa algo parecido. En general puede ser que casi nunca sea absolutamente necesario mandar un accessor privado (porque se puede hacer referencia directa a las variables de instancia), pero el dia que hace falta debuggear vienen bien. > Incluso fijate que #instVarAt: tiene muchos senders (o razones para > existir), por lo tanto no considero conveniente considerar a dicho > método como un "truco" o como algo "bruto" necesariamente. De la misma > manera hay métodos con baja popularidad como #become:, #allInstances, > #isKindOf y otros tantos que suelen generar conflictos con los dogmas > de diseño. Sin embargo cada uno de ellos tiene muchos senders y en la > mayoría de los casos, muy bien justificados. Y si... sin un caso concreto (o sea, si no esta claro que es lo que se quiere), es dificil decir si become: o isKindOf: esta "bien" usado. Andres. --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org -~----------~----~----~----~------~----~------~--~---
