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

Responder a