Foros del Web » Programando para Internet » ASPX (.net) »

cual es lo ideal en n capas????

Estas en el tema de cual es lo ideal en n capas???? en el foro de ASPX (.net) en Foros del Web. Hola maestros tengo una inquietud espero ustedes puedan ayudarme, miren he leido por ahi que lo ideal para trabajar en un modelo de n capas, ...
  #1 (permalink)  
Antiguo 29/10/2008, 23:27
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 20 años, 1 mes
Puntos: 1
cual es lo ideal en n capas????

Hola maestros tengo una inquietud espero ustedes puedan ayudarme,

miren he leido por ahi que lo ideal para trabajar en un modelo de n capas, es crearse 4 capas:

presentacion : donde estan las paginas

negocio : son clases que llaman a otras clases que estan en la capa datos,
aqui va la logica del negocio

datos: aqui estan las funciones que accesan a a la base de datos

entidad : sirve para guardar datos a un objeto solo tendra los set y los gets
esta capa sera llamada en las 3 capas anteriores

ahora mi pregunta es la siguiente:
1) en php y java yo la capa entidad y capa negocio la creo en una sola es decir ahi me creo las propiedades y las funciones para agregar, devolver, etc.
esto es recomendable cual es la diferencia ??
2)
otro punto en la capa datos yo solo creo una funcion que se llama listar (por ejemplo) y devuelve un datatable con los datos que se requeiren,
cual es la diferencia en tener varias funciones que accedan a los datos cuando yo puedo hacerla con una sola funcion esto es recomendable??
es que yo veo que en la capa datos se crean bastante funciones (listarclientes,listrapedidos, ect), y yo solo lo hago con una
(listar) y esa lista todo , hay algun problema con eso?

muchas gracias por todo espero sus opiniones
__________________
http://www.luisariashidalgo.com
  #2 (permalink)  
Antiguo 30/10/2008, 09:52
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: cual es lo ideal en n capas????

Que tal.

Este es mi punto de vista.

1) Lo que tu llamas como capa entidad, en realidad no es una capa, sino un medio de comunicación entre las diferentes capas, algo así como:
Código:
       Presentación <----Entidad----> Negocio <----Entidad----> Datos
2) Por lo mencionado en el punto anterior, es recomendable tener una clase sólo con las propiedades requeridas, es decir, nada de lógica de negocio.

3) Relativo a tu punto 2, puedes contruir tu framework y ahí encapsular tus funciones genericas (de acceso a datos, por ejemplo), como la que mencionas de listar; y posteriormente la puedes ocupar(instanciar) en cada una clase de acceso a datos, por ejemplo:

Código:
     // Estoy en la clase: PedidosDAL 
     .....
          public PedidoEntidad[]  Listar( ....)
          {
                    ....   miFramework.Listar(.......)
                   ....
           }
     .....
Y cuando la ocupes en la capa de negocio, la llamarías de la siguiente manera:
Código:
// Estoy en la clase: PedidosBLL
   .....
          public PedidoEntidad[]  Listar( ....)
          {
                   ... pedidosDAL.Listar(.......)
                   ....
           }
Quizá las primeras veces que lo hagas sea algo "engorroso", y pienses que estas haciendo cosas de más, pero conforme vayas creciendo tu framework, veraz que los siguientes proyectos te serán más fáciles de realizar. Además de que tu código quedará más legible.

Saludos.

P.D. Yo procuró no usar datatables, pues son pesados, salvo que este justificado que usaré sus métodos y propiedades. Lo que yo uso es un arreglo de las mismas entidades, como puedes ver en lo ejemplos que puse.
  #3 (permalink)  
Antiguo 30/10/2008, 22:16
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: cual es lo ideal en n capas????

gracias por tu aporte perod e la forma que yo lo hago lo veo mas sencillo, y he trabajado con ese modelo y obtengo buen rendimiento
__________________
http://www.luisariashidalgo.com
  #4 (permalink)  
Antiguo 31/10/2008, 10:49
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: cual es lo ideal en n capas????

Que tal.

Porque no nos comentas un poco más ( digamos con ejemplos sencillos) , de como desarrollas tus proyectos, es decir, que incluyes en cada clase.

Última edición por daniel00; 31/10/2008 a las 10:50 Razón: error de botón.
  #5 (permalink)  
Antiguo 31/10/2008, 15:12
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 20 años, 1 mes
Puntos: 1
Busqueda Respuesta: cual es lo ideal en n capas????

ok gracias por las respuestas por ejemplo yo desarrollo asi:
CapaDatos(Clase : MODULO)
aqui creo una sola funcion llamada listar
public function listar(byval cad as string) as datatable
dim cn as new sqlconnection (....)
dim da as new sqldatadapter(cad,cn)
dim tbl as datatable
da.fill tbl
return tbl
end function
------------------------------------------------------------------
CapaNegocio
(Clase Clientes)
Creo las propeidades de la clase
Property CustomerId
Property CompanyName, etc,etc
ademas aqui tambien creo mis funciones y metodos
dim Obj as new CapaDatos.Modulo
public function Listarclientes()
return obj.Listar("select * from clientes")
end function

public function ListarclientesxCiudad()
return obj.Listar("select * from clientes where ciudad='" & me.ciudad & "'")
end function
en la segunda funcion estoy trabajando con la popiedad ciudad
-----------------------------------------------------------------------------------------------------
Capa presentacion:
load de la pagina:
dim obj s new CapaNegocio.Clientes
obj.ciudad="lima"
grdiview.datasource=obj.listarclientesxciudad
aqui primero le asigno un valor ala propeidad ciudad y luego llamo a listarclientesxciudad

asi lo trabajo yo y no me da problemas entocnes mi pregunta era cual es la diferencia de que en el modulo (capadatos) me cree una funcion por cada cosa si con una sola puedo hacer todo,
y lo otro es por que separar la entidad de negocio si se puede hacer en una sola
bueno asi lo hago en php y en java y lo quiero hacer = en vb net
espero sus opiniones
__________________
http://www.luisariashidalgo.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:20.