Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   Polimorfismo en dataset tipados (http://www.forosdelweb.com/f29/polimorfismo-dataset-tipados-386408/)

eric_29 18/04/2006 05:38

Polimorfismo en dataset tipados
 
Hola a Todos!

Estoy desarrollando una aplicación en tres capas en c#,
en cuanto a la capa de acceso a datos utilizo Ado.NET (DataAdapters, DataSet)
Las entidades de negocio he dedicido representarlas con DAtaSet Tipados
El problema que tengo es que no encuentro la forma de utilizar el polimorfismo y la herencia
con dichos DataSets.

En el análisis del sistema que estoy desarrollando aparecen clases abstractas y especializaciones que para
implementarlas necesito de la herencia y el polimorfismo.

Ejemplo
Si tengo una clase persona que es abstracta y aparecen varias especializaciones de la misma
como cliente, proveedor, etc.

En el diseño de la base de datos me aparecen las tablas persona, cliente, proveedor

Me gustaria poder representarlo con un dataset tipado abstracto con la tabla persona
y los dataset tipados de Cliente y Proveedor que heredasen del anterior la tabla persona y además añadirles
las tablas cliente y proveedor respectivamente, Es decir simular de alguna forma lo que haría con las entidades representadas con las clases de siempre.

De esta forma me ahorraria la repetición inecesaria de codigo, mejor mantenimiento etc..

Si alguien tiene alguna sugerencia se lo agredecería.

Un saludo!

.seb 18/04/2006 13:44

eric, no si lo que quieres hacer es posible, pero se me ocurre un cambio que haría al diseño.
Ya que la clase persona es abstracta, se supone que no habrán instancias de la misma, eso significa que no existirán personas como tal, sino que siempre serán clientes, o proveedores, etc. Por la misma razón yo no haría una tabla personas, sino que dejaría las tablas clientes, proveedores, etc. De esta forma puedes crear los DataSets asociados a las mencionadas tablas y mantener la relación ADO.NET-tablas que quieres.

Espero te sirva como sugerencia.


La zona horaria es GMT -6. Ahora son las 09:01.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.