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 -~----------~----~----~----~------~----~------~--~---
