Si, por supuesto que usar una interface es lo que hago cuando yo agarro el proyecto de 0. Pero si tenes el codigo de alguien que metio MessageBox.Show por todos lados, y todo el pedido del pobre usuario es: Cambiame los mensajes grises por algo con el logo de la empresa...si alguien hubiera pensado de entrada o la clase tuviera un disenio extensible de entrada...el mundo seria un lugar mas feliz.
Gustavo. 2009/1/14 Carlos Peix <[email protected]> > 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 -~----------~----~----~----~------~----~------~--~---
