Hola Gustavo,
 
Tenes razon, me fui fuera de topico y apunte al sentido del articulo
solamente.
 
Mi imagino que ya lo sabras pero, el del MessageBox es un caso mas en el
cual la composicion ocultaria la implementacion esta clase detras de una
interfaz IUserNotificationService, por ejemplo.
 
Un abrazo
 
Carlos Peix

  _____  

De: [email protected]
[mailto:[email protected]] En nombre de Gustavo Ringel
Enviado el: Miércoles, 14 de Enero de 2009 09:19 a.m.
Para: [email protected]
Asunto: [NHibernate-Hispano] Re: Pregunta Virtual


Carlos, lo que no me gusta es que con el criterio del post bien valdria que
las clases fueran sealed por defecto tambien.

En Windows Forms una clase como MessageBox tiene todos metodos estaticos ,
si quiero cambiar todas las llamadas a MessageBox.Show a algo sencillo mio
no puedo, no hay como decorar...el hecho de que con la maduracion haya
entendido que es mejor en general no usar herencia no me ayuda cuando si lo
necesito.

Limitar por defecto y justificarlo por versionado o porque la gente "no esta
enterada" de que es virtual y entonces puede hacer problemas "como en java"
bueno, el programador es responsable de saber que herramienta usa. Y para
eso hay team leaders, etc, que ponen reglas en los grupos para que juniors
no cometan los errores.

Gustavo. 


2009/1/14 Carlos Peix <[email protected]>


Hola Gustavo,
 
A mi me parece util ese link, para el que se preocupa por esos detalles.
Hace algunos años, cuando lei ese articulo, me di cuenta de que habian
tomado la decision basandose en las necesidades de un desarrollador de
frameworks (lo que Microsoft hace) dandole una solucion al problema de
versionamiento.
 
Otras necesidades tenemos los que no desarrollamos frameworks (al menos no
todo el tiempo). Cuando usamos C# para escribir logica de negocio, la
limitacion nos molesta un poco mas.
 
Ultimamente voy entendiendo que la herencia, la herramienta que me parecia
magica en mis inicios en el diseño OO, termina siendo una trampa en muchos
casos (no en todos). Cada vez entiendo porque tenian razon los que decian
que mejor que la "herencia" es "interfaces + composicion". Por este motivo,
ya no es un problema tan grave la cuestion de virtual o no virtual.
 
Probablemente la experiancia, en nuestra profesion, sea ese gradual
entendimiento de que nada es magico, nada es bueno siempre, todo tiene pros
y contras.
 
Un saludo
 
Carlos Peix

  _____  

De: [email protected]
[mailto:[email protected]] En nombre de Gustavo Ringel
Enviado el: Miércoles, 14 de Enero de 2009 04:41 a.m.
Para: [email protected]
Asunto: [NHibernate-Hispano] Re: Pregunta Virtual


Dario, no veo ninguna razon valida en el mail que mandaste, vos si?
Es la escuela de siempre de Microsoft: Te damos esto para que no cometas
errores porque la mayoria de nuestros usuarios son estupidos. O sea que la
gente que si sabe cuando quiere virtual y cuando no tiene que sufrir.
Porque no hacen todas las clases sealed tambien de entrada con ese criterio?

Gustavo.


On Tue, Jan 13, 2009 at 11:47 PM, Dario Quintana
<[email protected]> wrote:


Hola gente

En realidad, por "algunas razones" no es virtual, me lo desayuné hace algún
tiempo en este link que me pasaron (en las listas del MUG):
http://www.artima.com/intv/nonvirtual.html

Saludos








--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

Responder a