2008/4/7 Alejandro Marcu <[EMAIL PROTECTED]>:
> Lo veo un poco raro, pero tal vez me estoy perdiendo de algo...
>
>  - No veo que sentido tiene que Creada herede de Creadora, yo mas bien
>  definiria una clase "Creable" con los metodos nombre y crear y que sea
>  esa que devuelva Creadora

Me pareció "ordenado" que la clase base tuviera los métodos
(estáticos) para crear y registrar clases derivadas, igualmente, estos
métodos utilizan una Factoria singleton (que queda enmascarada y por
lo tanto no es necesario que se conozca o utilice desde afuera). Menos
clases publicadas, menos includes...

>  - Si Creadora tiene metodos estaticos, que yo sepa no podrias
>  intercambiar implementaciones de factory.  Yo haria que Creadora sea
>  un Singleton y que Crear y Registrar sean metodos no estaticos que
>  devuelvan una clase "Creable".

ver lo anterior

>  - Veo medio raro lo de la clase inicializar, me suena raro tener una
>  clase para eso.

Es una clase y una instancia de la misma en un namespace anónimo. Con
esto logro que el compilador la cree antes de llamar a main(). Durante
la creación se realiza la llamada a Registrar(), y con esto logro que
la clase quede registrada sin tener que hacer un llamado a una funcion
RegistrarClases o registrarlas en forma explícita en el main (lo que
me forzaría a exportar todas las clases derivadas).


No se si sea un pattern en particular, no lo inventé yo, son
combinaciones de cosas que vi y leí por ahí...

Saludos

_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a