UTNianos

Versión completa: Arquitecturas de software
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Bueno... es hora de levantar un poco este subforo jajaja

Vieron q ahora todos hablan sobre que hay q estructurar las aplicaciones con una arquitectura MVC... hace un tiempo todo era separacion en 3 capas....

Es una moda pasajera esto del MVC? ayuda en realidad? confunde? O simplemente los frameworks q salen solo se suben al tren de lo q se usa ahora sin ver otras alternativas de arquitectura, como sumar mas capas a la arquitectura o armar una arquitectura de componentes....


Nose... yo creo q la proxima moda va a ser el SOA... y todos vamos a migrar para alla jaja


Ustedes q piensan? usan MVC porq lo usan todos? compararon diferentes alternativas para sus desarrollos? si optaron por MVC usan la implementacion pro default, armaron una propia, la usan a rajatabla o es flexible para utilzar junto con otra arquitecura?
alfathenus escribió:Bueno... es hora de levantar un poco este subforo jajaja

Vieron q ahora todos hablan sobre que hay q estructurar las aplicaciones con una arquitectura MVC... hace un tiempo todo era separacion en 3 capas....

Es una moda pasajera esto del MVC? ayuda en realidad? confunde? O simplemente los frameworks q salen solo se suben al tren de lo q se usa ahora sin ver otras alternativas de arquitectura, como sumar mas capas a la arquitectura o armar una arquitectura de componentes....


Nose... yo creo q la proxima moda va a ser el SOA... y todos vamos a migrar para alla jaja


Ustedes q piensan? usan MVC porq lo usan todos? compararon diferentes alternativas para sus desarrollos? si optaron por MVC usan la implementacion pro default, armaron una propia, la usan a rajatabla o es flexible para utilzar junto con otra arquitecura?

no esta ya de moda el soa??? =P
igual si
a veces pareciera ser todo moda
Creo que seguimos dando vueltas en circulos buscando la "bala de plata" en lugar de aceptar que MVC es una herramienta más, pero no la respuesta a todas los problemas. La verdadera respuesta está en la combinación oportuna... pero a la gente les gusta las recetas.

Hace unas semanas leí de un patrón hibrido entre MVC y Capas. Se llama "Naked Objets" y tiene los siguientes principios:

Cita:1. All business logic should be encapsulated onto the domain objects. This principle is not unique to naked objects: it is just a strong commitment to encapsulation.

2. The user interface should be a direct representation of the domain objects, with all user actions consisting, explicitly, of creating or retrieving domain objects and/or invoking methods on those objects. This principle is also not unique to naked objects: it is just a specific interpretation of an object-oriented user interface (OOUI).

The original idea in the naked objects pattern arises from the combination of these two, to form the third principle:

3. The user interface should be created 100% automatically from the definition of the domain objects. This may be done using several different technologies, including source code generation; implementations of the naked objects pattern to date have favoured the technology of reflection.

Básicamente encapsula los objetos en una capa de "dominio de negócio", y genera una capa de interface, una de reglas de negocio y comportamiento, y una de datos persistentes.

Paper: http://rapidshare.com/files/134641072/P ... s.pdf.html
En la empresa en la cual trabajo yo se pone mucho enfasis al diseño y a la arquitectura de los sistemas.
Nosotros laburamos con algo que (para mi) esta mucho mejor que MVC... se llama MVP.

La idea es esta...

Vista (que solo conoce tipos simples y Value Objects... jamas objetos de dominio)
Presenter (que se comunica con el Core y con la Vista... inicializa la vista y luego interpreta su informacion para pasarle objetos al Core)
Core (objetos de dominio que tienen solo logica de negocio)

A esto le sumamos repositorios, bases de datos (que las mapeamos con un framework de persistencia), DAOs (data access objects - implementados usando otro framework), mucho laburo con interfaces e inyeccion (con Spring), etc.

Si uno lo dice asi suena a que es muy complicado, pero la separacion entre capas que se logra es tremenda y genera muy buen codigo.
¿"Presenter" funcionaría como un "Control" pero con funcionamiento más específico (Control puede hacer varias cosas, pero Presenter funciona como interfase entre M y V)?
brunodiaz escribió:no esta ya de moda el soa
Si esta de moda... pero aca en arg no esta aun tan arraigado aun...

Lo de naked objects esta bueno.. pero la verdad no estoy tan al tanto sobre su implementacion


Si MVP es una alternativa a MVC... es similar a MVC cambia un poco la filosofia, es una muy buena alternativa.
Dem0 escribió:¿"Presenter" funcionaría como un "Control" pero con funcionamiento más específico (Control puede hacer varias cosas, pero Presenter funciona como interfase entre M y V)?

La vista delega una cierta cantidad de responsabilidades en el presenter. El presenter se encarga de "manejarla" y la vista solo muestra datos y permite ingresar otros nuevos. La logica de inicializar, cargar, salvar y modificar datos la tiene el presenter. Es algo que da para largo... si les interesa despues busco un articulo que este bueno! =)
aca en el laburo usamos CSLA para VB6 (http://en.wikipedia.org/wiki/Component-b...chitecture. si bien no es una arquitectura con todas las letras, te standariza todo el proceso de creacion de objetos de negocio.

ahora estamos evaluando usar CSLA.NET (este ya es un framework de aplicacion) para migrar de VB6 a C# varios proyectos que tenemos.
URLs de referencia