FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Pregunta complicada...
Hola gente, como andadn??.
Les comento cual es mi duda para ver si alguien lo ha hecho. Supongamos que tengo una variable "Nombre" de tipo String que contiene el nombre de una clase como String. Es decir, por ejemplo existe una clase que se llama Cliente y en la variable "Nombre" tengo la cadena "Cliente" (el nombre de la clase). Existe la posibilidad de que dada la viariable con el nombre de una clase se cree un método que retorne una instancia de dicha clase. Espero se entienda mi duda. Gracias. PD. se que algunos lenguajes se puede hacer, pero en delphi aún no encontré la forma. Última edición por marcoszorrilla fecha: 23-09-2004 a las 19:01:32. |
#2
|
||||
|
||||
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Absolutamente que se puede. Y no, no es algo "magico" de los lenguajes, de hecho Delphi hace PRECISAMENTE eso cuando crea los formularios. El concepto es un patron (pattern) muy usado que se llama el Class Factory.
La explicacion a lo bestia es mas o menos asi: Un "factory" es una clase de control que en base a un parametro determina la clase a construir" PD. Si quieres una definicion mejor busca "Factory Pattern" o "Builder Pattern" en google.... Tengo un framework basado en http://www.devexpress.com/?section=/...ctices/SAP-VCL (si te estudias este articulo vas a entender mejor) que lo he mejorado un poquito La implementacion es mas o menos:
__________________
El malabarista. |
#4
|
||||
|
||||
Wop!
Solo dos cosas, primero, montar un class factory es más sencillo que todo eso. Segundo, creo que que lo que el compañero quería era una función que instanciase "cualquier cosa". Ejemplo:
Y como bien se ha comentado, eso no se puede hacer en Delphi.
__________________
E pur si muove |
#5
|
||||
|
||||
Obvio, por eso puse la version facil y la completa.
Sin embargo, pensando que DELPHI HACE LO MISMO pues resulta que hay unas cuantas funciones bien interesantes: VENTAJA: Tenemos listo un Factory con Delphi y no toca armar el codigo que puse arriba (al menos, para cosas no muy complejas)
Con eso y el RTTI se hace mucha magia. Sin embargo la maxima flexibilidad es con un componente de Script Engine. Como el DWS o el TMS Script o el Pascal Script.
__________________
El malabarista. |
#6
|
||||
|
||||
Cita:
Por otro lado la implementación que esboza mamcx no se me hace particularmente complicada o no veo forma de reducirla mucho. De cualquier manera aprovecho este hilo para copiar la fábrica que menciona Federico del otro hilo:
ya que en el hilo original han aparecido montones de líneas en blanco. Está pensada para formularios pero se puede adaptar a otras clases base. // Saludos |
#7
|
|||
|
|||
Gracias, por responder a mi pregunta. Voy a ponerme a investigar sobre el tema y despues les contaré como me fue.
saludos.... |
|
|
|