3 capas ¿errores de concepto?

23/04/2005 - 12:50 por Hugo Gsell | Informe spam
Es largo... espero lo lean...
Estoy tratando de pasar 'mi sistemas' de mi querido vb6 a .net, utilizando
clases, y capas para su desarrollo.
En vb6 nunca utilicé clases. En un principio me plantee esto así:
Crear 1 clase (y una dll independiente) x cada 'objeto de trabajo', por
ejemplo, usuarios, y que esta clase autocontenga "todo" lo necesario para
trabajar con los usuarios: crear usuario, eliminar usuario, asignar tareas
que puede realizar, modificar contraseña, validar usuario (pasando usuario y
contraseña),etc.etc. (ya que si tengo 5 sistemas distintos incluyendo esta
dll e invocando sus metodos y utilizando sus propiedades ya que tengo todo
para trabajar con ellos (en este caso usuarios).

Cree una bibliotecla de clases cuya estructura es mas o menos...
*ClassMiClase
*ClassAccesoADatos
*New (toma como parametros rutanombrebase, y clavebase. Ademas tiene
propiedades con estos datos)
*MetodoEjecutar as Object
*MetodoLeer as IdDataReader
*MetodoEjecutarProcAlmacenado as Object (no utilizado es para cuando
se use sql )
*ClassComun (contiene una serie de propiedades que son comunes a todos
los sistemas como ser
usuarioactual,nivelusuarioactual, RutaBackUp,
ModoDeEjecucion, RutaNomBase, SistemaRegistrado)
*prtUsuario
*prtContrasena
*prtNivelUsuario
*prtHaceBackUp
*prtRutaBackUp
*prtModoEjecucion
*prtRutaNomBase
*prtSistemaRegistrado
*ClassEncriptacion
*prtMetodo (1,2,3)
*MetodoEncripta (Cadena)
*MetodoDesencripta (Cadena)
*Metodo1
*Metodo2
*Metodo3
*ClassSeguridad
*ClassUsuario
*prtNombre
*prtContrasena
*prtNivel
*MetodoCrearUsuario
*MetodoEliminarUsuario
*MetodoModificarContrasena
*MetodoValidaUsuario
*ClassUtilidades
*MetodoLimpiarTexto'Saca espacios extremos y medios
*MetodoConvertirATitulo
Etc..Etc


Luego, haciendo extensivo este proceso, de hacerlo independiente en una dll
(cada objeto una dll distinta) para utilizarlo directamente y autocontenidos
en otros sistemas ... tendré unas 30 o 40 clases!!! Al ser autocontenidos
quiere decir que en cada clase estará su lógica de negocio (en usuarios por
ej. que un usuario de nivel 3 solo puede crear usuarios de nivel 3 o
superior)... su acceso a datos (en usuarios grabar usuario nuevo), etc. En
realidad, para el acceso a datos tengo otra clase (otra dll) que hace la
aperura de la base y ejecuta comandos y otra que lee devolviendo un
IdDataReader. en realidad tengo una Pienso utilizar bases access (pero
dejando abierto para poder migrar a una versión en sql u otra), me surgio el
siguiente problema... que cada ves que utilizo alguna de estas clases
(ejemplo usuarios) debo inicializarla con la ruta + nombre base + contraseña
.. ahí ya me resulto engorroso... ni que hablar cuando desde un form por
ejemplo creo una instancia de la clase ClassUsuarios y llamo al método
ValidaUsuario que llama a la ClassAccesoADatos
 

Leer las respuestas

#1 Carlos Gómez
23/04/2005 - 19:21 | Informe spam
En esta dirección:
http://www.microsoft.com/spanish/ms...d/uni.net/

puedes encontrar "Curso práctico de desarrollo de aplicaciones con Visual
Strudio .NET

Te recomiendo que lo descargues (son 5 capítulos). En el hay una charla que
puedes ver y oir tranquilamente que hablan de todas esas dudas que planteas,
así como las ventajas de crear ese montón de clases. Además, si dispones de
sql server, puedes desarrollar la aplicación ejemplo que se crea en el
curso.

Preguntas similares