dividir responsabilidades

11 views
Skip to first unread message

Edgar Ramos

unread,
May 4, 2013, 1:39:55 PM5/4/13
to altnet-...@googlegroups.com
Gente un saludo, me encuentro desarrollando una aplicacion de escritorio (Windows Form), en donde se ha tratado de implementar las buenas practicas aprendidas en este foro. Responsabilidades como el acceso a datos (DAOS), servicios, etc, ya se han construido sin mayor problema, y para esto se ha hecho uso de proyectos de bibliotecas de clases.

Para la implementacion de las vistas, tenemos un solo proyecto de tipo Aplicacion Windows, y este es el punto de mi mensaje, es posible o existe alguna buena practica para dividir la responsabilidad del desarrollo de cada formulario?, no me refiero al uso de MVP, más bien a algo existente en asp net MVC


Cuando trataba con visual basic 6, se podia crear en exe activex que contenia la parte grafica que sumado a las dll activex me permitian mas flexibilidad.

Absolutamente todos los procesos de la empresa serán automatizados en esta aplicacion, que con el paso del tiempo se convertira en un desarrollo grande tipo ERP

Gracias por sus comentarios


Saludos
edgar


--
Saludos
Edgar

Diego Güemes

unread,
May 5, 2013, 8:47:10 AM5/5/13
to altnet-...@googlegroups.com
Hola Edgar.

No he logrado entender muy bien el problema que planteas, sobretodo, la parte de utilizar ASP .NET MVC en un proyecto de ... ¿Windows Form? :-S

Evidentemente, las diferentes GUIs de tu aplicación es lo más difícil de reutilizar entre sí, más que nada por los diferentes enfoques de cada una. Te recomendaría:
  • Reutilizar en cualquier capa de presentación: las reglas de negocio, validaciones, workflows, etc.
  • Si la idea es crear una aplicación de escritorio y otra prácticamente idéntica en entorno web, tal vez me inclinaría más por un enfoque MVP con Web Forms, al menos de esa forma reutilizarías los presenters...
De todas formas, no se si tu duda va por aquí.

Un saludo,
Diego.




--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a altnet-hispan...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a altnet-...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/altnet-hispano?hl=es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Angel Java Lopez

unread,
May 5, 2013, 9:41:01 AM5/5/13
to altnet-...@googlegroups.com
Hola gente!

Jeje... yo tampoco entendi mucho de la pregunta original :-)

Ahora, releyendo mas tranquilo, solo puedo agregar algo que puede parece fuera de este thread, pero me temo que puede ser mi mas importante contribucion al tema, Edgar:

HAGANLO CON TDD

(y espero que lo anterior que hayan hecho lo hayan producido via TDD, sino es asi, que el creador del universo se apiade de sus almas ;-)

Angel "TDD" Lopez
@ajlopez



2013/5/5 Diego Güemes <diego...@gmail.com>

Edgar Ramos

unread,
May 5, 2013, 2:50:05 PM5/5/13
to altnet-...@googlegroups.com
En cuanto a TDD, bueno procuramos testear cada cosa que se desarrolle, en la medida de lo posible claro, no somos expertos, pero le vamos dando.

Creo que no explique bien el problema que tenia, bueno, la app a desarrollarse es netamente WinForm, y con el objetivo de dividir el desarrollo entre varias personas de un equipo o equipos, se preguntaba si era conveniente o más bien una buena practica, crear proyectos biblioteca de clases para cada pantalla a utilizarse dentro de esta aplicacion y no proyectos de Aplicacion windows, es decir si tengo 50 pantallas tendre en total 50 proyectos biblioteca de clases. 

Unicamente se tendría una app te tipo winform, la del menu principal, la idea que es que el deploy tuviera un esquema similar al siguiente

DirectorioPrincipalAPP (el cual tiene subdirectorios, los mismos que son Menus dentro del Sistema, y dll utilizadas para todo el proyecto)
    Almacen, aqui estarian las biblioteca de clases que contienen los forms de este menu y otras dlls utiles
    POS
    Recetario
    Proveedores
    Clientes

Es posible que me este complicado con todo esto, se desea tener flexibilidad en el desarrollo de esta app, gracias por sus comentarios

Saludos
Edgar

Angel Java Lopez

unread,
May 5, 2013, 3:03:52 PM5/5/13
to altnet-...@googlegroups.com
Hola gente!

Edgar, bien, voy entendiendo. Leyendo asi rapidamente, detecto dos objetivos en tu ultimo email:

"el objetivo de dividir el desarrollo entre varias personas de un equipo o equipos...,"

y

"la idea que es que el deploy tuviera un esquema similar al siguiente..."

Al segundo lo llamaria algo como "opinionated deploy", o algo asi. Fijate que ni aun ASP.NET MVC con areas resuelve lo que quieres poner en el WinForm: un menu automatico en base a lo que esta en ese "opinionated deploy".

Pero bien, ahora solo voy por el primer objetivo: no hace falta tener el segundo objetivo, o dividir en .dlls y deployar por separado, para conseguir dividir el trabajo. En otros proyectos, vi simplemente usar un repositorio de codigo, y todos vamos enviando los commits ahi. Aun contra el mismo proyecto WinForms. Lo unico que hay coordinar durante media hora, es el armado del menu principal. Commit frecuentes (en general, varios por dia).

Pero no tengo tu contexto. Tal vez realmente requieras el segundo objetivo: no solo separar el desarrollo, sino tambien tener un deploy donde los assemblies esten separados. 

Nos leemos!

Angel "Java" Lopez
@ajlopez



2013/5/5 Edgar Ramos <eramo...@gmail.com>

Edgar Ramos

unread,
May 5, 2013, 3:15:17 PM5/5/13
to altnet-...@googlegroups.com
Gracias maestro, lo del repositorio es un tema a tratarse en esta semana, con el segundo objetivo era por cuestion de organizacion, en realidad no es un requerimiento, pero veo que al deployar la app, todo se encuentra en el mismo directorio, dlls del proyecto y de terceros, en nuestro caso, nhibernate, rhino, castle, castle, etc. 

Saludos

Leandro de los Santos

unread,
May 6, 2013, 5:19:06 PM5/6/13
to altnet-...@googlegroups.com
http://msdn.microsoft.com/en-us/library/ff648747.aspx

Esto quizás te sea de ayuda... no se en que estado esta, si es que se sigue soportando, pero la idea se acerca mucho a lo que entendí que buscabas...

Saludos
Reply all
Reply to author
Forward
0 new messages