Principales respuestas
Framework para capa de usuario - Estructura de proyecto

Pregunta
-
Buenas actualmente estoy iniciando el desarrollo de un sistema, el cual lo estoy desarrollando en Capas. Asi mismo he estado investigando acerca de algunos frameworks que puedo aplicar, y justo eso es lo que estoy necesitando pero aplicado solo a la capa de Usuario que en este caso es un proyecto windows. He investigado acerca del patron MVC pero veo que es para asp.net, me llamo mucho la atencion por la ordenada separacion que posee la estructura, no obstante lo que estoy necesitando es algo similar pero para para la capa de usuario y asi lograr tener una estructuta de proyecto windows mas ordenado y esto lo menciono por que ese problema de desorden se visualiza cuando el proyecto crece terminando con muchos archivos dispersos en diferentes carpetas que no guardan una estructura y un orden establecido el cual se debe de seguir, por ejemplo a veces en un proyecto , windows en este caso, se añaden clases, enumeraciones, etc.
Gracias de antemano.
Saludos
El hombre mas poderoso del mundo es aquel que es dueño de si mismo
Respuestas
-
Fafner,
Tanto el patrón MVC, como el MVVM o el MVP, son todos patrones para aislar la capa de presentación de la lógica de negocios. La idea de implementar estos patrones a la hora de diseñar tu proyecto, es para que te ayude a aislar esa capa de presentación de la lógica de negocios de tu aplicación y que aparte, te permite implementar distintos tipos de interfases de usuario (web, windows form, silverlight, WFP, Mobile, etc) de manera sencilla.
Con esto te quiero decir que es lo mismo si estas desarrollando para windows o web, hasta el patrón es todo igual. La ultima capa la podes implementar como quieras e incluso, podes poner 2 tipos de presentación o más.
Espero que te sea de ayuda mi post.
Saludos,
Sandro D. Garcia
Colabora con el foro: Si este mensaje te es de utilidad marcalo como respuesta.- Marcado como respuesta Juan Carlos Ruiz [perfil anterior]Moderator lunes, 4 de mayo de 2009 13:43
-
Hola FAFNER,
Tal y como se muestra en la imagen que has incluido, ese proyecto hace coincidir la estructura del proyecto con el modelo vista controlador. Sin embargo, la estructura del proyecto no tiene por qué seguir este modelo.
En nuestro caso, utilizamos un criterio funcional para clasificar nuestras clases (Exceptions, Interfaces,Model, Controls, etc...) lo cual no impide que utilicemos en determinadas aplicaciones el modelo MVC. Muchas de nuestras aplicaciones tienen la clase Controller en la misma carpeta que el MainForm sin que por ello incumplamos el modelo que mencionas. Lo que es importante son las dependencias que hay dentro del código, no la ubicación de las clases - sin que esto quiera decir que no sea importante una buena organización de las clases :)
Espero que te resulte de utilidad,
Si este mensaje responde a tu pregunta, márcalo como respuesta correcta o vótalo como útil.
Sergio Ortiz
i-Card Software CTO- Propuesto como respuesta Juan Carlos Ruiz [perfil anterior]Moderator lunes, 27 de abril de 2009 16:24
- Marcado como respuesta Juan Carlos Ruiz [perfil anterior]Moderator lunes, 4 de mayo de 2009 13:43
Todas las respuestas
-
Fafner,
Tanto el patrón MVC, como el MVVM o el MVP, son todos patrones para aislar la capa de presentación de la lógica de negocios. La idea de implementar estos patrones a la hora de diseñar tu proyecto, es para que te ayude a aislar esa capa de presentación de la lógica de negocios de tu aplicación y que aparte, te permite implementar distintos tipos de interfases de usuario (web, windows form, silverlight, WFP, Mobile, etc) de manera sencilla.
Con esto te quiero decir que es lo mismo si estas desarrollando para windows o web, hasta el patrón es todo igual. La ultima capa la podes implementar como quieras e incluso, podes poner 2 tipos de presentación o más.
Espero que te sea de ayuda mi post.
Saludos,
Sandro D. Garcia
Colabora con el foro: Si este mensaje te es de utilidad marcalo como respuesta.- Marcado como respuesta Juan Carlos Ruiz [perfil anterior]Moderator lunes, 4 de mayo de 2009 13:43
-
Hola Fafner,
Tal y como ha mencionado Sandro, el patrón MVC se puede utilizar también para aplicaciones que no son asp.net. Las ventajas que proporciona de desacoplamiento entre capas son aplicables a cualquier aplicación.
Respecto a la estructura de los proyectos, nosotros seguimos una estructura que se puede parecer a esta...
La solución (sln) contiene todos los proyectos de nuestro producto y los ordenamos en carpetas dependiendo de a qué capa pertecenen.
Por ejemplo,
MiProducto.sln
DataLayer (Carpeta)
Miproyecto1.csproj
CommonLayer (Carpeta)
Miproyecto2.csproj
BusinessLayer (Carpeta)
Miproyecto3.csproj
PresentationLayer (Carpeta)
Miproyecto3.csproj
Respecto a la estructura de las clases dentro de un proyecto, seguimos una estrategia parecida. Es decir, creamos carpetas por capa o función y luego distribuimos los ficheros de fuente entre dichas carpetas. Esta es una estructura que solemos repetir en bastantes proyectos:
Proyecto.csproj
Business (Carpeta para la lógica de negocio)
Controls (Carpeta para controles)
Data (Carpeta para la lógica de acceso a datos)
Exceptions (Carpeta para las excepciones)
Interfaces (Carpeta para los interfaces)
Model (Carpeta para las definiciones de entidades)Espero que te haya servido de utilidad,
Si este mensaje responde a tu pregunta, márcalo como respuesta correcta o vótalo como útil.
Sergio Ortiz
i-Card Software CTO -
Respecto a la estructura de las clases dentro de un proyecto, seguimos una estrategia parecida. Es decir, creamos carpetas por capa o función y luego distribuimos los ficheros de fuente entre dichas carpetas. Esta es una estructura que solemos repetir en bastantes proyectos:
Proyecto.csproj
Business (Carpeta para la lógica de negocio)
Controls (Carpeta para controles)
Data (Carpeta para la lógica de acceso a datos)
Exceptions (Carpeta para las excepciones)
Interfaces (Carpeta para los interfaces)
Model (Carpeta para las definiciones de entidades)Espero que te haya servido de utilidad,
ES por esto que me gustaria saber como poder implementar este patron MVC en una capa de proyecto windows, que estructura debo de seguir en mi proyecto windows...?
Saludos y gracias de antemano.
El hombre mas poderoso del mundo es aquel que es dueño de si mismo -
Hola FAFNER,
Tal y como se muestra en la imagen que has incluido, ese proyecto hace coincidir la estructura del proyecto con el modelo vista controlador. Sin embargo, la estructura del proyecto no tiene por qué seguir este modelo.
En nuestro caso, utilizamos un criterio funcional para clasificar nuestras clases (Exceptions, Interfaces,Model, Controls, etc...) lo cual no impide que utilicemos en determinadas aplicaciones el modelo MVC. Muchas de nuestras aplicaciones tienen la clase Controller en la misma carpeta que el MainForm sin que por ello incumplamos el modelo que mencionas. Lo que es importante son las dependencias que hay dentro del código, no la ubicación de las clases - sin que esto quiera decir que no sea importante una buena organización de las clases :)
Espero que te resulte de utilidad,
Si este mensaje responde a tu pregunta, márcalo como respuesta correcta o vótalo como útil.
Sergio Ortiz
i-Card Software CTO- Propuesto como respuesta Juan Carlos Ruiz [perfil anterior]Moderator lunes, 27 de abril de 2009 16:24
- Marcado como respuesta Juan Carlos Ruiz [perfil anterior]Moderator lunes, 4 de mayo de 2009 13:43