Resultados 1 al 15 de 15

Programacion en N-capas

  1. #1 Programacion en N-capas 
    Medio
    Fecha de ingreso
    Jul 2007
    Mensajes
    111
    Descargas
    0
    Uploads
    0
    Las capas de un proyecto se dan de acuerdo a lo que el grupo de trabajo requiera, la definicion dice que se concibe por la necesidad de agrupar operacoiones de misma naturaleza( para disminuir el acoplamiento y aumentar la cohesion interna), esto quiere decir que encuentra su razon de ser por el hecho de que en un proyecto las operaciones a realizar se pueden separar en grupos para su mejor manipulacion( en muchos casos se presta a confucion decir capas y niveles, no es lo mismo, capas: es la forma en que esta dividida nuestra aplicacion de forma logica y niveles : es la distribucion fisica que puede ser en varios servidores ).
    Las capas por lo general son:
    - Capa de presentación
    - Capa de negocio
    - Capa de datos

    Capa de presentación:
    esta capa es la que se va a relacionar con el usuario ( en unas palabra la que presenta el sistema al usuario), por lo tanto tiene que ser facil de entender ( nos tiene que ir indicando que es lo que hay que hacer ), atencion !!! en esta capa hay que controlar todos los errores como ultima instancia, desde el mas especifico al mas general ( en c# Exception es el mas general), esta capa puede ser realizada en conjunto con un diseñador. El usuario tiene que creer que puede hacer de todo ( en realidad no es asi ya que nosotros tenemos todo controlado )

    Capa de negocio:
    esta es la capa donde se realizan todas la validaciones que el sistema requiera y hace de intermediaria entre las capas de presentacion y la capa de datos, las validaciones simples de string.Empty() y otras parecidas se realizan en la interfaz, un ej de una validacion propia del sistema es " los usuarios no pueden tener un dni repetido con otro cliente y tampoco con algun vendedor " . Muchos diran porque hacerlo aparte si se puede hacer todo en el mismo lugar, esto no solo se hace para que el trabajo en equipo sea mas facil y rentable, sino tambien para que la aplicacion no dependa de la interfaz ( el dia de mañana queremos que nuestro proyecto sea ejecutado desde un Ipod, solo modificando y adaptando la capa de interfaz de usuario saldría andando muy bien).

    Capa de datos:
    aquí se da el acceso a los datos de una BD , en muchos casos es necesario hacer una interfaz ( no es lo mismo que interfaz de usuario, en realidad nada que ver ) para tratar a cualquier manejador de datos de = forma y que nuestra aplicacion tampoco dependa de una BD en particular. Se colocan las conexiones, storeprocedure / consultas / vistas , etc

    Para finalizar con esta explicacion muy muy corta de capas , quiero comentarles que el acceso entre ellas es:
    Capa de presentación<--->Capa de negocio<---> IDatos <--->Capa de datos.
    en este mismo post colocare un ej (cuando lo termine, espero que sea rapido ) muy util de capas donde podran ver claramente como es esta modalidad ( todo en ASP.NET(c#) porque es el lenguaje en el que estoy mas comodo ), podran decir " y porque no espero a tener el ej", porque quiero que tengan una simple vicion de lo que es dividir una aplicacion en capas y lo util que puede ser.

    Saludos

    PD: el tema da para horas de charla y muchas hojas escritas.
    Citar  
     

  2. #2  
    Moderador Global
    Fecha de ingreso
    Aug 2005
    Mensajes
    6.279
    Descargas
    7
    Uploads
    0
    Cierto, de hecho hay ya varias organizaciones de estandarización que han gastado todas esas horas

    Lo que pasa es que luego llegan ciertas tecnologías propietarias (léase ASP.NET o C#) y se arrogan el diseño de las estructuras cambiando algunos nombres.

    http://en.wikipedia.org/wiki/OSI_model

    Salu2

    Keep on Rollin'

    . . . . . . . . . . . . . . . . . . . .
    [[ NORMAS DEL FORO ]]
    . . . . . . . . . . . . . . . . . . . .
    __________
    Citar  
     

  3. #3  
    Moderador HH
    Fecha de ingreso
    Mar 2003
    Ubicación
    Galiza
    Mensajes
    3.919
    Descargas
    8
    Uploads
    1
    j8 creo que te has colado, el link es el modelo de capas de red OSI no tiene que ver, directamente, nada con respecto al diseño de una aplicación estandar... aunque es cierto que indirectamente si se da una relación...

    Ciertamente este esquema es principalmente útil para aplicación web, para pequeñas aplicaciones de escritorio no es práctico separar lógica de negocio de presentación (si estos de datos), pero en una aplicación web si...

    Por ejemplo en .NET: de la capa de datos se puede encargar SQLServer que será la encargada de trabajar con los datos a bajo nivel, de la lógica de negocio para eso está ADO.NET con un poco código adicional y el resto presentación... aunque en la práctica donde se diferencia completamente este esquema es en Java.

    Me quedo esperando tu ejemplo

    Un Saludo
    He conocido muchos dioses. Quien niegue su existencia está tan ciego como el que confía en ellos con una fe desmesurada. Robert E. Howard
    La suerte ayuda a la mente preparada.
    Citar  
     

  4. #4  
    Moderador Global
    Fecha de ingreso
    Aug 2005
    Mensajes
    6.279
    Descargas
    7
    Uploads
    0
    heh, no me podéis negar que son espectacularmente parecidas

    Salu2


    Keep on Rollin'

    . . . . . . . . . . . . . . . . . . . .
    [[ NORMAS DEL FORO ]]
    . . . . . . . . . . . . . . . . . . . .
    __________
    Citar  
     

  5. #5  
    Moderador HH
    Fecha de ingreso
    Mar 2003
    Ubicación
    Galiza
    Mensajes
    3.919
    Descargas
    8
    Uploads
    1
    heh, no me podéis negar que son espectacularmente parecidas
    Fuera de coñas realmente incluso hay relación... y la idea de este diseño parte de la misma permisa

    Un Saludo
    He conocido muchos dioses. Quien niegue su existencia está tan ciego como el que confía en ellos con una fe desmesurada. Robert E. Howard
    La suerte ayuda a la mente preparada.
    Citar  
     

  6. #6  
    Moderador Global
    Fecha de ingreso
    Aug 2005
    Mensajes
    6.279
    Descargas
    7
    Uploads
    0
    Es que en MłCROSOFT son tan buenos que han decidido no reinventar la rueda

    No, en serio también, el OSI no deja de ser "el modelo". Y el lenguaje en cierto modo son comunicaciones. De algún modo hay que organizar todos esos objetos. Pocos se ciernen estrictamente al modelo, pero es que incluso sin usar tantas capas ha demostrado ser eficiente, es lógico entonces que se adopte para otros fines distintos que las arquitecturas de comunicación.

    Salu2


    Keep on Rollin'

    . . . . . . . . . . . . . . . . . . . .
    [[ NORMAS DEL FORO ]]
    . . . . . . . . . . . . . . . . . . . .
    __________
    Citar  
     

  7. #7  
    Moderador HH
    Fecha de ingreso
    Mar 2003
    Ubicación
    Galiza
    Mensajes
    3.919
    Descargas
    8
    Uploads
    1
    Realmente el uso moderno por capas tal como McLik lo describio partio de Java a finales de los 90, aunque ya se uso de forma similar desde hace mucho... y NET como implementación moderla similar a Java que es pues también lo tuvo en cuenta.

    Y ciertamente la idea es buena, por lo menos para aplicaciones de cierta embergadura.Y como bien dices es un modelo, los modelos no deben ser tomados al pie de la letra, sino que deben ser adaptados a las circunstancias particulares, aunque esto no se puede decir muy alto, ya que muchos programadores (que de programadores tienen poco) solo saben hacer aplicaciones siguiendo guiones ya echos... Por ejemplo las aplicaciones que yo suelo desarrollar en la mayoría de los casos, pues sería complicarlo todo separar estrictamente lógica de negocio y presentación, pero desde luego la cosa cambia cuando me encargan que desarrolle alguna de más envergadura, porque ahí si que compensa.

    Un Saludo
    He conocido muchos dioses. Quien niegue su existencia está tan ciego como el que confía en ellos con una fe desmesurada. Robert E. Howard
    La suerte ayuda a la mente preparada.
    Citar  
     

  8. #8 Proyecto ASP.NET ( N-Capas ) 
    Medio
    Fecha de ingreso
    Jul 2007
    Mensajes
    111
    Descargas
    0
    Uploads
    0
    Hola a todos, bueno termine casi un 85% - 90% del proyecto ( este, mas o menos, sera mi final de programacion en la facultad, espero que les sea de utilidad ya que tiene algunas cosas lindas de aprender, no solo un buen ejemplo de capas, sino tambien para todo aquel que recien entra en el mundo de asp.net(c#)).
    Paso a comentarles un poco:
    En un proyecto chico para administrar partidas de poker. Los ABMs se hacen con el control ObjectDataSource para respetar la estructura en capas ( esto lo explico, porque los controles mas especificos, por lo general, trabajan mejor y con un rendimiento mucho mayor que los mas genericos, pero no podria hacer uso de sqldatasource ya que no estaria implementando programacion en capas, o si pero a medias ).
    Podran ver que las capas respetan la comunicacion, mas adelante hare un proyecto donde implemente web service ( con esto estaria completando una correcta practica de programacion en capas ).
    En fin espero que les guste el proyecto y les sea de utilidad, traté de utilizar gran cantidad de cosas ( a tiene tambien un poco de ajax, lo basico ).

    Bueno y por fin el Link: http://rapidshare.com/files/128776267/Trabajo_Final_Ajax_v1.rar.html

    Saludos

    PD: el proyecto esta en VS 2005 y tiene el backup de la bd que esta hecha en SQL server 2005. Espero que no baje tan rapido este post, gracias al debate de gondar_f y j8k6f4v9j, eso no paso .
    Citar  
     

  9. #9  
    Moderador HH
    Fecha de ingreso
    Mar 2003
    Ubicación
    Galiza
    Mensajes
    3.919
    Descargas
    8
    Uploads
    1
    Muchas gracias McLik, le voy a echar un ojo...

    Y tienes mucha razón, los componentes específicos dan un rendimiento muy superior, pero entonces las dependencias entre capas es superior... Eso en java no es un problema porque usualmente la conexión es a través de JDBC y ahí ya hay aislamiento...

    Lo que si, cuando termines podías hacer un artículo del tema, no tiene porque ser muy amplio, y yo me comprometo a hablar con clarinetista para que lo fije. Es algo que pregunta mucha gente pero que no suele estar bien explicado en los tutoriales que circulan por inet.

    Un Saludo
    He conocido muchos dioses. Quien niegue su existencia está tan ciego como el que confía en ellos con una fe desmesurada. Robert E. Howard
    La suerte ayuda a la mente preparada.
    Citar  
     

  10. #10  
    Avanzado
    Fecha de ingreso
    Mar 2002
    Ubicación
    México ©
    Mensajes
    863
    Descargas
    0
    Uploads
    0
    Mira lo que son las cosas, tu utilizas el módelo de programación en capas, para un proyecto en ASP, en estos momentos yo lo estoy utilizando en un proyecto basado en Java, a eso le llamo estandar, como mencionaron las capas de módelo OSI (aunque claro éste para las comunicaciones), pero eso sí, no desviandose de la esencia que es la uniformidad de lo que se hace, en éste caso, sin importar en donde se base la aplicación que estamos desarrollando, utilizamos la misma lógica de programación o mejor dicho el mismo patrón de diseño.

    Suerte y éxito en tu proyecto
    Saludos

    ¡Abur!
    "La indiferencia hace sabios y la envidia ignorantes"
    Den Diderot
    Atte: .Jok3R.
    Citar  
     

  11. #11  
    Moderador HH
    Fecha de ingreso
    Mar 2003
    Ubicación
    Galiza
    Mensajes
    3.919
    Descargas
    8
    Uploads
    1
    Lo cierto es que aunque la idea es más antigua, ese modelo de capas se empezo a usar en Java y como el modelo va muy bien pues... al final está triunfando.

    Un Saludo
    He conocido muchos dioses. Quien niegue su existencia está tan ciego como el que confía en ellos con una fe desmesurada. Robert E. Howard
    La suerte ayuda a la mente preparada.
    Citar  
     

  12. #12  
    Medio
    Fecha de ingreso
    Jul 2007
    Mensajes
    111
    Descargas
    0
    Uploads
    0
    Espero que el ej. haya sido de su agrado. Con respecto a la implementacion de capas en java, la idea es la misma, ya que no es un modelo propio de Microsoft por ahi, no se, capas lo difundio( pero de ellos no es ). Si nos detenemos a ver solo a nuestro alrededor, veremos que esta necesidad no es solo de la programacion, ni tampoco de la informatica ( si hilamos fino ), solo hay que saber que se puede implementar y tener la claridad para hacerlo.

    Saludos
    Tec. Superior en Programacion
    Desarrollador.Net(C#) - DCE: 4 estrellas
    Citar  
     

  13. #13  
    Iniciado
    Fecha de ingreso
    Oct 2008
    Mensajes
    5
    Descargas
    0
    Uploads
    0
    Hola a todos hace algunos dias que estoy dando vueltas por el foro y hoy me registre. Disculpen por revivir un post medio viejo, pero me parece que este post tendria que estar como fijo (no soy quien para decir eso pero por sentido comun lo digo). Estaba viendo que hay posta como Coleccion de ejercicios (sin ningun ejercicio) que estan fijos y no algo como esto, no se si alguien vio el codigo del proyecto que subio McLik pero esta muy bueno el proyecto y utiliza muchas cosas lindas de saber. Desde ya McLik muchas gracias, y espero que no te desmotives y sigas subiendo cosas como esta que le haces muy bien a los que quieren aprender .net.

    Un saludos a todos.
    Citar  
     

  14. #14  
    Moderador HH
    Fecha de ingreso
    Mar 2003
    Ubicación
    Galiza
    Mensajes
    3.919
    Descargas
    8
    Uploads
    1
    Tranquilo y bienvenido Audio35, realmente solo tiene un par de meses con lo cual no se puede calificar de verdaderamente antiguo.

    Además tienes razón, a ver si j8 o clari ven el post y lo ponen fijo, yo no tengo suficientes privilegios.

    Un Saludo
    He conocido muchos dioses. Quien niegue su existencia está tan ciego como el que confía en ellos con una fe desmesurada. Robert E. Howard
    La suerte ayuda a la mente preparada.
    Citar  
     

  15. #15  
    Co-Admin HackHispano.com Avatar de clarinetista
    Fecha de ingreso
    Jan 2004
    Ubicación
    HackHispano/SM
    Mensajes
    7.773
    Descargas
    31
    Uploads
    8
    Ya esta, vosotros pedid y se os concedera
    Citar  
     

Temas similares

  1. Programacion
    Por sortiruiz en el foro GENERAL
    Respuestas: 8
    Último mensaje: 01-02-2011, 22:05
  2. Programacion OO
    Por McLik en el foro GENERAL
    Respuestas: 7
    Último mensaje: 27-08-2007, 18:19
  3. Programación en ADA
    Por LLOBU en el foro GENERAL
    Respuestas: 4
    Último mensaje: 28-01-2005, 11:39
  4. Programacion C
    Por Dwarft en el foro PROGRAMACION DESKTOP
    Respuestas: 3
    Último mensaje: 12-11-2003, 17:07
  5. Programación
    Por Jesus en el foro GENERAL
    Respuestas: 4
    Último mensaje: 27-04-2003, 19:48

Marcadores

Marcadores