Programacion Orientada al Objeto

17/08/2004 - 22:00 por knito | Informe spam
Hola Listeros.

Estoy empesando recien en C# y me sería de mucha utilidad si alguien me
pudiera dar una mano con el tema de POO. estoy modelando una pequeña
aplicación que en términos simples maneje los datos de, por ejemplo, paises,
ciudades, comunas o barrios, pero vistos como objetos para utilizar los
conceptos de herencia.

Necesito diseñar un modelo orientado a objetos donde éstos en su conjunto
compongan un sistema en ASP.NET.

Les pido ayuda, llevo 1 año y medio en VB.Net pero no había explorado las
potencialidades de éste tipo de programación.

Gracias de antemano.

Knito
Chile.

Preguntas similare

Leer las respuestas

#6 Jose Luis Manners
18/08/2004 - 16:18 | Informe spam
Hola Kinito,

Creo que antes de comenzar tu proyecto deberias tratar de adquirir algunos
conocimientos básicos de POO y programación por capas (n-tier). Puedes
encontrar mucha información sobre estos temas en MSDN, El Guille, etc.
Tambien te sugiero leer sobre patrones de diseño (Design Patterns).

Sin entrar en muchos detalles, yo hice un módelo de objetos bastante BASICO
basado en lo que expones. No incluí las propiedades como Nombre, Ubicación,
etc. porque lo único que te quiero mostrar son los objetos y la relación
entre ellos :

Continente
PaisCollection
Pais
CiudadCollection
Ciudad
BarrioCollection
Barrio

Bueno primero tienes un objeto Continente el cual posee un objeto tipo
colección PaisCollection. PaisCollection contiene una lista de todos los
objetos tipo Pais para determinado Continente. Piensa en PaisCollection
como si fuera un ArrayList de objetos tipo Pais. Cada objeto Pais a su vez
contiene una colección CiudadCollection la cual es una lista de objetos
Ciudad que pertenecen a cada Pais. Y asi sucesivamente con los objetos tipo
Barrio. Inclusive puedes tener un objeto tipo colección llamado
ContinenteCollection el cual sería una lista de todos los objetos
Continente. Sobre herencia lo que puedes hacer es teneer un objeto llamado
algo así como LugarGeografico el cual contega las cosas comunes como Nombre,
Ubicación, Agregar(), etc. y entonces todos los objetos individales (no las
colecciones) heredarían estas propiedades y métodos del objeto
LugarGeografico .

Ahora bien, en términos de base de datos yo creo que cada objeto individual
merecen estar en una tabla en la base de datos. Asi que tendrias una tabla
aparte para Continentes, Paises, Ciudades, y Barrios las cuales deben estar
relacionadas en la forma en que estan relacionados los objetos (pero no
necesariamente). Para esto te sugiero leer sobre relaciones de padre/hijo
en bases de datos.

Para crear los objetos desde las bases de datos te sugiero que leas bastante
sobre capas y patrones de diseño. La idea es que cuando en tu programa
quieras construir el objeto ContinenteCollection todas las dependecias sean
construidas a manera de cascada sin tu programa saber los detalles de como
se construyen. Los objetos serían construidos consultando la base de datos
a través (pero no necesariamente) de una capa de accesso a datos (Data
Access Layer).

Bueno espero no te haya confundido más en lugar de ayudarte. Te sugiero
nuevamente que leas bastante antes de comenzar.

Saludos,

Jose Luis Manners, MCP

"Encuentra felicidad en tu trabajo o nunca serás feliz."
-Kung-Fu-Tsu (Confucio)

"knito" <knito~@~chile~.~com> wrote in message
news:
Mostrar la cita
#7 Alfredo Novoa
18/08/2004 - 16:42 | Informe spam
On Wed, 18 Aug 2004 09:26:50 -0300, "María"
wrote:

Mostrar la cita
Pues bienvenida al caos :)

Mostrar la cita
Pues la forma "oficial" de hacerlo es mediante ADO.NET.

El problema es que es una tecnología que deja muchísimo que desear y
por el momento no conozco buenas alternativas.

Hasta el momento C# está muy mal preparado para trabajar con bases de
datos, a no ser que inviertas mucho tiempo creando una solución
propietaria para enlazar los formularios C# con una base de datos.

Si quieres probar ADO.NET encontarás mucha información en la MSDN y en
cualquier librería, pero pronto verás lo engorroso que resulta hacer
cualquier cosa mínimamente compleja.


Un saludo
#8 knito
18/08/2004 - 17:05 | Informe spam
A los que les interese...

http://www.programacion.com/articul...sistencia/

knito.
#9 knito
18/08/2004 - 17:09 | Informe spam
Muchas gracias José Luis por el tiempo empleado en responder a mi consulta.
segiré tu consejo... leeré sobre lo que me comentas.

Atte.
Knito.

"Jose Luis Manners" <josemanners(-arroba-)hotmail.com> escribió en el
mensaje news:
Mostrar la cita
BASICO
Mostrar la cita
Ubicación,
Mostrar la cita
vez
Mostrar la cita
tipo
Mostrar la cita
llamado
Mostrar la cita
Nombre,
Mostrar la cita
las
Mostrar la cita
individual
Mostrar la cita
tabla
Mostrar la cita
estar
Mostrar la cita
bastante
Mostrar la cita
sean
Mostrar la cita
datos
Mostrar la cita
alguna
Mostrar la cita
me
Mostrar la cita
los
Mostrar la cita
#10 Melissa Ruiz
18/08/2004 - 17:28 | Informe spam
Mostrar la cita
Bueno, eso si es una mala noticia. Yo estoy urgida por aprender C# para
trabajar sistemas de gestion de datos y me decepciona un poco leer esa
opinion tuya.. Cual lenguaje a tu juicio es entonces mejor orientado a
manejo de datos ?

Alguna otra opinion ? o todos piensan igual que C# no esta muy bien
preparado para bases de datos ?


Gracias
Ads by Google
Search Busqueda sugerida