Referencia clases

02/08/2004 - 17:41 por Ryuyi | Informe spam
Hola en asp.net hay el modulo de clases
en el modulo de clases defino las propiedades de la clase
por ejemplo
de una persona: nombre,apellido,direcion,telefono,Edad , etc.
en ese mismo modulo de clase puedo definir tambien
sus operaciones como ser Registrar nueva persona
,Actulizar datos de persona, eliminar datos de esa persona, y mostrar datos
de esa personas y para la conexion utilizar un modulo simple y hacer mi
procedimiento de conexion y desconexion para luego llamar ese procedimiento
de conexion y desconexion desde mi modulo de clase persona en cada operacion
por ejemplo


modulo simple de conexion

sub conectar ()
dim strconnection
strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; ";
strConnection += "Data Source=" + Server.MapPath("newagenda.mdb");

strConnection.open ()
End sub
Sub desconectar ()
strconnetion.close ()
End sub

Modulo de clase persona
Sub registrar_persona (dim nombre as string, ...etc)
conectar () ' invocacion al procedimiento conectar
..insert into nombre = ..
...
desconectar()
end sub

Bueno quisiera saber si utilizar esta forma de programacion es buena.y otra
pregunta mas
en cuanto a paquetes siempre los modulos de clases se dividen en paquetes en
un paquete de contabilidad un paquete de ventas por ejemplo y en cada
paquete hay muchas clases ejemplo clase productos, clase ventas, etc
debo crear carpetas y ahi colocar mis clases o sea una carpeta contabilidad
y todos las clases de ese paquete , otra carpeta y todas las clases del
paquete ventas o como es la cuestion gracias.

Preguntas similare

Leer las respuestas

#1 Pablo O. Abbate
02/08/2004 - 19:35 | Informe spam
Hola,

Existen patrones (prácticas probadas que ofrecen una solución para un
problema dado) que definen como crear una aplicación de n-capas.
Por ejemplo en este artículo
http://www.microsoft.com/belux/nl/m...tier1.mspx
te ofrecen los detalles claramente (está en inglés).

De todas maneras, no siempre dispones de presupuesto, recursos humanos o
tiempo para implementaciones de esta naturaleza. Como indicas que se trata
de una aplicación de mediana complejidad es muy posible que desees ajustarte
al patrón de diseño ya que lograrías una buena reusabilidad en tu código.
Además utilizarías las herramientas que te provee .NET de una manera más
eficiente. Por ejemplo, veo que en el código adjunto utilizas directamente
comandos SQL para comunicar los cambios a tu servidor de base de datos. Pero
esta tarea ya tiene un conjunto de clases que se encarga de hacerlo, se
denomina ADO.NET y te recomiendo que lo utilices.

Otra consideración importante: es posible que tu lógica de negocios se
reutilice en distintas interfases. Puede que tengas parte de tu aplicación
ejecutándose como una aplicación Windows mientras que otra funcionalidad
esté ofrecida por una aplicación Web. En este tipo de casos, es muy
conveniente reutilizar dicha lógica. Otra razón más para ajustarse a las
especificaciones de un patrón.

En la capa de datos, veo que utilizas MS-Access como proveedor de datos. En
tu caso utilizaría MSDE, que es una versión reducida de SQL Server que posee
mejores prestaciones que MS-Access. Lógicamente si tu aplicación crece
podrás realizar un upsizing a SQL Server 2000 sin esfuerzo.

Espero haber aclarado en algo tus ideas. Si queda alguna pregunta, no dudes
en publicarla.

Saludos,


Pablo O. Abbate
MCDBA - MCAD - MCSD - MCT
www.auladat.es


"Ryuyi" escribió en el mensaje
news:
Hola en asp.net hay el modulo de clases
en el modulo de clases defino las propiedades de la clase
por ejemplo
de una persona: nombre,apellido,direcion,telefono,Edad , etc.
en ese mismo modulo de clase puedo definir tambien
sus operaciones como ser Registrar nueva persona
,Actulizar datos de persona, eliminar datos de esa persona, y mostrar


datos
de esa personas y para la conexion utilizar un modulo simple y hacer mi
procedimiento de conexion y desconexion para luego llamar ese


procedimiento
de conexion y desconexion desde mi modulo de clase persona en cada


operacion
por ejemplo


modulo simple de conexion

sub conectar ()
dim strconnection
strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; ";
strConnection += "Data Source=" + Server.MapPath("newagenda.mdb");

strConnection.open ()
End sub
Sub desconectar ()
strconnetion.close ()
End sub

Modulo de clase persona
Sub registrar_persona (dim nombre as string, ...etc)
conectar () ' invocacion al procedimiento conectar
..insert into nombre = ..
...
desconectar()
end sub

Bueno quisiera saber si utilizar esta forma de programacion es buena.y


otra
pregunta mas
en cuanto a paquetes siempre los modulos de clases se dividen en paquetes


en
un paquete de contabilidad un paquete de ventas por ejemplo y en cada
paquete hay muchas clases ejemplo clase productos, clase ventas, etc
debo crear carpetas y ahi colocar mis clases o sea una carpeta


contabilidad
y todos las clases de ese paquete , otra carpeta y todas las clases del
paquete ventas o como es la cuestion gracias.


Respuesta Responder a este mensaje
#2 Ryuyi
02/08/2004 - 20:05 | Informe spam
Hola gracias por la respuestar pero una cuestion mas
la conexion lo hare con sql 2000 lo que coloque fue un ejemplo antes de
comenzar a utilizar

Dim oConnection As New SqlClient.SqlConnection("Cadena de conexion")
Dim oCommand As New _
SqlClient.SqlCommand("select * from tabla", oConnection)
oConnection.open ()
Dim dr As SqlDataReader = oCommand.ExecuteReader()
drReader["CustomerID"]
oConnection.Close()
dr.close ();
La cadena de conexion pensaba colocarlo en un procedimiento llamado conexion
por si un dia cambia solo modificar ese procedimiento y en cuanto al command
trabajare con procedimientos almacenados que estaran en el sql server 2000
solo para llamarlo todavia no e comenzado pero quiero
programar de la mejor forma posible no quiero meter codigos de conexion en
el mismo formulario por q si un dia varia la cadena de conexion tendria que
cambiar en todos los formularios y esto seria un trabajo bastante moroso,
por eso pensaba hacer un modulo simple de conexion y desconecion para luego
llamar al procedimiento desde mi modulos de clases por ejemplo modulo de
clase persona y sus metodos de registar actualizar modificar o eliminar, y
ya del formulario solo llamar a los metodos de la clase persona y aplicarlo
al formulario, pensaba hacer un control de usuario para validar las
entradasde datos por parte del cliente, Pero si hago los metodos de
registrar elminar actulizar en el mismo formulario y ya no en el modulo de
clases es conveniente eso o es mejor de la otra forma hacer los metodos en
el modulo de clase y llamarlo luego desde el formulario o hacer todo eso en
el formulario y olvidarme del modulo de clases y en cuanto a los paquetes
como haria eso . Quiero utilizar el desarrollo de software del proseco
unificado me podrias explicar por favor gracias
Respuesta Responder a este mensaje
#3 Pablo O. Abbate
02/08/2004 - 20:31 | Informe spam
Vamos por partes,

Lo que te conviene es crear un proyecto (.dll) que será el responsable de
brindar todos los servicios de acceso a tu base de datos. No es recomendable
que desde la capa de presentación (por ejemplo un formulario web o windows)
accedas directamente a tu base de datos.

Esto es lo que se propone cuando se diseña en múltiples capas. La idea es
que utilices tu Clase para proveer servicios de acceso a datos. Un ejemplo
muy trivial sería:

Class DBService
{
public void conectar()
{
// Me conecto a la DB
// Si obtengo un error lanzo una excepcion
}
public void desconectar()
{
// Me desconecto
}
public DataTable ObtenerClientes()
{
conectar()
// Tal vez utilizar un dataadapter para llenar una tabla..
desconectar()
}

// etc, etc.
}

Algunas observaciones:

* La cadena de conexión deberías colocarla fuera de tu código, puedes
utilizar el archivo web.config o app.config dependiendo del tipo de
aplicación que utilizas.
* Intenta siempre utilizar la seguridad integrada de Windows en SQL Server
en lugar de la autenticación nativa SQL Server.
* Este es un ejemplo muy sencillo y básico. Si te fijas aquí no he empleado
ADO.NET. Podrías definir DataSets fuertemente tipeados para tratar tu capa
de negocios.

Ya te habrás dado cuenta que tu consulta no es sencilla ni breve de
contestar. Lo que necesitas es diseñar antes de empezar a codificar. Esto
último requiere que tengas un buen conocimiento de como funcionan las
herramientas de .NET que vas a utilizar. Así que te recomiendo que empieces
por ejemplos simples que te aclaren el panorama.

Buena suerte.

Pablo O. Abbate
MCDBA - MCAD - MCSD - MCT
www.auladat.es





"Ryuyi" escribió en el mensaje
news:
Hola gracias por la respuestar pero una cuestion mas
la conexion lo hare con sql 2000 lo que coloque fue un ejemplo antes de
comenzar a utilizar

Dim oConnection As New SqlClient.SqlConnection("Cadena de conexion")
Dim oCommand As New _
SqlClient.SqlCommand("select * from tabla", oConnection)
oConnection.open ()
Dim dr As SqlDataReader = oCommand.ExecuteReader()
drReader["CustomerID"]
oConnection.Close()
dr.close ();
La cadena de conexion pensaba colocarlo en un procedimiento llamado


conexion
por si un dia cambia solo modificar ese procedimiento y en cuanto al


command
trabajare con procedimientos almacenados que estaran en el sql server 2000
solo para llamarlo todavia no e comenzado pero quiero
programar de la mejor forma posible no quiero meter codigos de conexion en
el mismo formulario por q si un dia varia la cadena de conexion tendria


que
cambiar en todos los formularios y esto seria un trabajo bastante moroso,
por eso pensaba hacer un modulo simple de conexion y desconecion para


luego
llamar al procedimiento desde mi modulos de clases por ejemplo modulo de
clase persona y sus metodos de registar actualizar modificar o eliminar,


y
ya del formulario solo llamar a los metodos de la clase persona y


aplicarlo
al formulario, pensaba hacer un control de usuario para validar las
entradasde datos por parte del cliente, Pero si hago los metodos de
registrar elminar actulizar en el mismo formulario y ya no en el modulo de
clases es conveniente eso o es mejor de la otra forma hacer los metodos


en
el modulo de clase y llamarlo luego desde el formulario o hacer todo eso


en
el formulario y olvidarme del modulo de clases y en cuanto a los paquetes
como haria eso . Quiero utilizar el desarrollo de software del proseco
unificado me podrias explicar por favor gracias


Respuesta Responder a este mensaje
#4 Ryuyi
02/08/2004 - 20:56 | Informe spam
Class DBService
{
public void conectar()
{
// Me conecto a la DB
// Si obtengo un error lanzo una excepcion
}
public void desconectar()
{
// Me desconecto
}
public DataTable ObtenerClientes()
{
conectar()
// Tal vez utilizar un dataadapter para llenar una tabla..
desconectar()
}
Respecto al ejemplo que me acabas de dar si eso es lo que quiero hacer como
decis el conectar y desconectar pensaba crear un modulo simple de conexion.
En el modulo de clase de persona que tiene sus atributos nombre,apellido,
edad,telefono, direcion,idpersona, pensaba hacer los servicios que daria
como ser obtenerDatosdelcliente() como ser RegistrarDatosdelcliente() como
por ejemplo y que esos servicios llamen al modulo de conexion para
conectarse a la base ya teniendo mis modulos de clases y mi modulo de
conexion solo llamaria desde mi formulario al modulo de clases persona y
utilizar los servicios que me da como obtenerDatosdelcliente(), asi pensaba
hacerlo para cada clase como por ejemplo modulo de clase persona. modulo de
clase permiso, modulo de clase, modulo de clase empresa , cada clase
brindaria sus propios servisios para que cuando se lo invoquen del
formulario web se lo pueda utilizar. En el diseño de un sistema es bueno
empaquetas los modulos de clases para no mezclar todas las clases porq no
creo q sea convenientre colocar los modulos de clase de contabilidad con los
modulos de clases ventas, como los modulos de clases reportes, para ellos
siempre se empaquetan para no mezclar todo para ello tendira que crear
carpetas y y colocar los modulos de clase pertenecientes al paquete de
contabilida y tambien colocar en otra carpeta los modulos de clase
pertenecientes al paquete de ventas, esto que pienso hacer es una correcta
forma de programacion o esta mal lo que estoy pensando hacer, porq de
programar se puede programar y puedo mezclar un monton de codigos tanto en
el formulario como el mismo control de usuario y listo pero quiero saber si
lo que quiero hacer esta bien y que me aconsejes gracias
Respuesta Responder a este mensaje
#5 Pablo O. Abbate
02/08/2004 - 21:07 | Informe spam
Es buena idea. Recuerda que te puede ayudar el uso de los DataSets tipeados.
Saludos,
Pablo O. Abbate
MCDBA - MCAD - MCSD - MCT
www.auladat.es



"Ryuyi" escribió en el mensaje
news:
Class DBService
{
public void conectar()
{
// Me conecto a la DB
// Si obtengo un error lanzo una excepcion
}
public void desconectar()
{
// Me desconecto
}
public DataTable ObtenerClientes()
{
conectar()
// Tal vez utilizar un dataadapter para llenar una tabla..
desconectar()
}
Respecto al ejemplo que me acabas de dar si eso es lo que quiero hacer


como
decis el conectar y desconectar pensaba crear un modulo simple de


conexion.
En el modulo de clase de persona que tiene sus atributos nombre,apellido,
edad,telefono, direcion,idpersona, pensaba hacer los servicios que daria
como ser obtenerDatosdelcliente() como ser RegistrarDatosdelcliente() como
por ejemplo y que esos servicios llamen al modulo de conexion para
conectarse a la base ya teniendo mis modulos de clases y mi modulo de
conexion solo llamaria desde mi formulario al modulo de clases persona y
utilizar los servicios que me da como obtenerDatosdelcliente(), asi


pensaba
hacerlo para cada clase como por ejemplo modulo de clase persona. modulo


de
clase permiso, modulo de clase, modulo de clase empresa , cada clase
brindaria sus propios servisios para que cuando se lo invoquen del
formulario web se lo pueda utilizar. En el diseño de un sistema es bueno
empaquetas los modulos de clases para no mezclar todas las clases porq no
creo q sea convenientre colocar los modulos de clase de contabilidad con


los
modulos de clases ventas, como los modulos de clases reportes, para ellos
siempre se empaquetan para no mezclar todo para ello tendira que crear
carpetas y y colocar los modulos de clase pertenecientes al paquete de
contabilida y tambien colocar en otra carpeta los modulos de clase
pertenecientes al paquete de ventas, esto que pienso hacer es una correcta
forma de programacion o esta mal lo que estoy pensando hacer, porq de
programar se puede programar y puedo mezclar un monton de codigos tanto en
el formulario como el mismo control de usuario y listo pero quiero saber


si
lo que quiero hacer esta bien y que me aconsejes gracias


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida