Creo que este articulín:

http://www.devshed.com/c/a/PHP/The-Singleton-and-Factory-Patterns-in-PHP-Bui
lding-a-Form-Generator-Class/

        Te vendrá muy bien para coger la idea del Factory y Abstract Factory

        Está en PHP, pero los conceptos son "universales"

        Por cierto, que si lees los comentarios, verás que critican (y con
razón) que mezcla código con diseño (mezcla los elementos del formulario con
como se pintan en pantalla), lo cuál no es bueno hacer pues pierdes
encapsulación. Pero para coger la idea, está muy bien el articulito.

        Un saludo. 

> -----Mensaje original-----
> De: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] En nombre de eemece2
> Enviado el: lunes, 27 de febrero de 2006 19:10
> Para: [email protected]
> Asunto: Re: [ASNativos] Instanciar clases dinamicamente
> 
> Hola Joseba, y Hari. Gracias,
> 
> Con tu codigo, Joseba, no consiguo que funcione con 
> parametros (igual hago
> algo mal).
> Y lo del 'Factory Method Pattern' no lo conocia y me parece 
> muy interesante,
> y me vendra bien en otra parte del proyecto, cuando me lo 
> estudie bien. Pero
> para lo que quería ahora, me da que no me vale, creo:
> 
> Lo que estoy haciendo ahora es un mini-framework que va a 
> leer de un XML la
> configuracion de un portal.
> 
> Ahora, en ese XML, pongo una definicion de 'paginas', dentro 
> de las cuales
> hay instancias de 'modulos'. Y al final tambien estan las 
> definiciones de
> las diferentes clases de modulos, cada uno con un ID.
> 
> Ahora, a la hora de crear esos modulos, uso un switch con el 
> ID de tipo de
> modulo para instanciar la clase del modulo correspondiente. 
> Lo que ocurre
> que esto está implementado en una clase 'mainPortalForm', la cual es
> generica del framework, y de la cual cada portal debera 
> derivar la suya
> propia. Y cada portal puede tener modulos propios.
> 
> Por eso queria dejar de usar switch con el ID del tipo de 
> modulo, y usar una
> instanciación dinamica, a partir de strings sacados del XML 
> de configuracion
> del portal (de cada clase de modulo). Y en esa instanciacion 
> tengo que usar
> los parametros del constructor de la clase modulo (que deriva 
> de una clase
> base 'modulo').
> 
> No se si me he explicado.
> El caso es que igual lo estoy planteando mal, y no es 
> necesario hacer una
> instanciación dinamica.
> O igual deberia hacer que todos los modulos que implemente vayan
> 'hard-coded' en el 'mainPortalForm'. No lo tengo muy claro.
> 
> Esto va a correr por 'encima' de una aplicacion asp.net, que es la que
> define el XML, y dentro de la cual se usa un sistema mas o 
> menos dinamico de
> creacion de modulos a partir de ese XML (teniendo almacenado 
> en el XML las
> cadenas de los modulos, que son controles asp.net, por ejem:
> "Projects.asmx")
> 
> Perdon por la chapa, no pensaba liarme tanto :)
> 
> Gracias y un saludo,
> Edu-eemece2
> 
> 
> 
> ----- Original Message ----- 
> From: "Hari Seldon" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Monday, February 27, 2006 1:30 PM
> Subject: RE: [ASNativos] Instanciar clases dinamicamente
> 
> 
> No se si lo que buscará es _cargar_ dinámicamente las clases....
> 
> Si lo que necesita es una instanciación dinámica, pues desde luego
> el patrón Factory le va que ni pintado.. Y aún mejor el 
> abstract factory ;)
> 
> Saludos.
> 
> > -----Mensaje original-----
> > De: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] En nombre de Joseba Alonso
> > Enviado el: lunes, 27 de febrero de 2006 10:55
> > Para: [email protected]
> > Asunto: RE: [ASNativos] Instanciar clases dinamicamente
> >
> > Prueba con:
> >
> > var obj:Object= new _global[dynamicClass]();
> >
> > De todas maneras parece que necesitas un Factory method
> > pattern diria yo ;)
> >
> > http://en.wikipedia.org/wiki/Factory_method_pattern
> >
> > Un saludo,
> >
> >
> > Joseba Alonso
> > www.5dms.com
> > www.sidedev.net
> >
> > > -----Mensaje original-----
> > > De: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED] En nombre de eemece2
> > > Enviado el: domingo, 26 de febrero de 2006 21:51
> > > Para: [email protected]
> > > Asunto: Re: [ASNativos] Instanciar clases dinamicamente
> > >
> > > [Repito el correo anterior, que está poco legible]
> > >
> > > ///////////////
> > >
> > > Bueno, he visto que se puede hacer en AS 2.0 con:
> > >
> > >    var dynamicClass = "namespace.miclase";
> > >
> > >    var obj:Object= new(eval(dynamicClass));
> > >
> > >
> > > Aunque no veo como se le pueden pasar parametros al constructor.
> > >
> > > Por otro lado, veo que en AS 3.0 se puede usar algo parecido a
> > > esto:
> > >
> > >     var obj:Object= new _global[dynamicClass];
> > >
> > > y que no sirve lo que valepara AS 2.0
> > >
> > > ¿Sabeis como pasarle parametros para el caso de AS 2.0?
> > >
> > > ¿U otra forma de isntanciar la clase dinamicamente, con 
> parametros?
> > >
> > > Saludos,
> > >
> > > Edu-eemece2
> > >
> > > ----- Original Message -----
> > > From: "eemece2" <[EMAIL PROTECTED]>
> > > To: <[email protected]>
> > > Sent: Sunday, February 26, 2006 8:37 PM
> > > Subject: [ASNativos] Instanciar clases dinamicamente
> > >
> > >
> > > Buenas a todos,
> > >
> > > Quería instanciar un objeto de una clase dinamicamente, esto
> > > es, teniendo el
> > > nombre de la clase en una variable String.
> > > No lo habia hecho hasta ahora, y pensaba que se hacia con
> > > 'createClassObject', pero veo que es una funcion para
> > componentes del
> > > framework de MM.
> > >
> > > ¿Me podeis comentar como se hace para clases propias, que no
> > > deriven de
> > > ninguna clase del framework?
> > > Pues no veo info googleando.
> > >
> > > Muchas gracias y saludos,
> > >
> > > Edu-eemece2----------------------------------
> > > Lista ASNativos:[email protected]
> > > http://www.5dms.com/listas
> > > ----------------------------------
> > >
> > > ----------------------------------
> > > Lista ASNativos:[email protected]
> > > http://www.5dms.com/listas
> > > ----------------------------------
> >
> > ----------------------------------
> > Lista ASNativos:[email protected]
> > http://www.5dms.com/listas
> > ----------------------------------
> >
> > __________ Información de NOD32 1.1419 (20060226) __________
> >
> > Este mensaje ha sido analizado con  NOD32 antivirus system
> > http://www.nod32.com
> >
> >
> 
> ----------------------------------
> Lista ASNativos:[email protected]
> http://www.5dms.com/listas
> ----------------------------------
> 
> ----------------------------------
> Lista ASNativos:[email protected]
> http://www.5dms.com/listas
> ----------------------------------
> 
> __________ Información de NOD32 1.1419 (20060226) __________
> 
> Este mensaje ha sido analizado con  NOD32 antivirus system
> http://www.nod32.com
> 
> 

----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------

Responder a