Duda conceptual Objetos

22/09/2005 - 10:39 por Xus | Informe spam
Buenas, la duda es:

Si tengo una clase PERSONA, y otra HIJO, y la clase persona tiene un método
llamado obtenerHijos(),

¿que es lo que debe devolver este método?

Una colección?
Un dataSet?

La información estará en la BD, por lo que de todos modos tendré que
cargarlo en un DataSet aunque después quiera agregarlo a la colección... no
se tengo muchas dudas.

Alguna idea?


Gracias de antemano,

Xus.
 

Leer las respuestas

#1 Leonardo Azpurua [mvp vb]
22/09/2005 - 19:10 | Informe spam
"Xus" escribió en el mensaje
news:
Buenas, la duda es:

Si tengo una clase PERSONA, y otra HIJO, y la clase persona tiene un
método llamado obtenerHijos(),

¿que es lo que debe devolver este método?

Una colección?
Un dataSet?

La información estará en la BD, por lo que de todos modos tendré que
cargarlo en un DataSet aunque después quiera agregarlo a la colección...
no se tengo muchas dudas.



Hola.

Todo depende de tu estilo de programacion. Si trabajas usando controles
enlazados a datos y esas cosas (sigo sin aprender a usarlas) podría resultar
conveniente que devolviera un DataSet.

De la manera en que trabajo, el valor devuelto seria un coleccion de
instancias de la clase HIJO (por principio, los detalles de implementacion
deben estar lo mas ocultos que sea posible: no me gusta la idea de que la
aplicacion dependa de un proveedor de datos, o de los nombres de las
columnas de una BD).

Pero siempre depende de tu estilo y de lo que vayas a hacer con ella. Y para
cargar la colección, utilizaria un DataReader, no un DataSet.

Siempre tienes la posibilidad de implementar varios metodos: DSHijos() As
DataSet, DTHijos() As DataTable y ColHijos() As Collection.

Frente a un problema semejante, no definiria HIJO como una clase, sino como
una relacion entre dos instancias de la clase PERSONA (sobre todo si los
hijos pueden tener hijos a su vez).

Algo asi como:
PERSONA:
Codigo As TCodigo
Padre As TCodigo
Madre As TCodigo
...
y

HijoDe(Z, X) ::= (Z.Padre = X.Codigo OR Z.Madre = X.Codigo)

Salud!

Preguntas similares