Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Fidel123 en 06 de Julio 2020, 18:19

Título: Patrones de Diseño para proyectos Java: diferencias entre MVC,PAC,MVA,MVP,MVVM
Publicado por: Fidel123 en 06 de Julio 2020, 18:19
Hola muy buenas a todos. En mi caso estoy haciendo un proyecto de un banco que el cliente pueda transferir, retirar, hacer prestamos, etc y ademas una clase trabajador donde pueda ver la mora, deudas, etc.

Más que un código en especifico quisiera aprender cuales son los patrones que se usan en proyectos Java. Usé un patron MVC, pero al parecer esto es solo para web.

Muchas gracias, los leo ;D


Título: Re:Patrones de Diseño para proyectos en Java
Publicado por: daenius en 08 de Julio 2020, 22:04
No entiendo del todo a qué te refieres con "patrones en proyectos Java", ¿podrías poner algunos links a más info? Desconozco eso de "MVC".

Por otra parte, si tuviera que hacer algo relacionado con un banco, así como las operaciones posibles (algo como un cajero electrónico, por ejemplo), debería de hacerme clases que me identifiquen perfectamente lo que quiero. Una clase cliente por ejemplo, la clase trabajador, una clase para las operaciones disponibles con mi saldo actual, etc.

No sé exactamente lo que pides, pero con lo que sea ya dices.
Título: Re:Patrones de Diseño para proyectos en Java
Publicado por: Fidel123 en 08 de Julio 2020, 22:59
Hola
Gracias por responder
Segun lo que busque son patrones que te ayudan a manejar mejor el codigo cuando trabajas con interfaces.
Bueno, MVC es patron de diseño. Sus siglas son modelo, vista y controlador.
A lo que me referia con patrones en proyectos he buscado y no son solo para java como pueden ser: tres capas, experto en informacion, etc.


Título: Re:Patrones de Diseño para proyectos en Java
Publicado por: daenius en 09 de Julio 2020, 08:46
Bueno, tras googlear un rato he descubierto algo que ni sabía y quizás me ponga con ello más adelante.

Como explicación general de los patrones existentes y la clasificación que tienen. (https://devexperto.com/patrones-de-diseno-software/)

Sobre el patrón MVC que me comentaste y que puede aplicarse a algo más que la web. También explica el DAO y el DTO (https://www.ecodeup.com/patrones-de-diseno-en-java-mvc-dao-y-dto/)

Patrón Strategy. El artículo tiene enlaces a otros más. (https://www.seas.es/blog/informatica/patrones-de-diseno-en-java-patron-strategy/)

Es un curso de pago en Udemy, pero la presentación de lo que dan es bastante atractiva, y si no, pues de orientación creo que está bastante bien. (https://www.udemy.com/course/patrones-de-diseno-java/)

Estas cosas simplemente las he sacado de Google, nada mío porque como dije, no sabía ni de esto. Para un programador, la curiosidad es fundamental, por ello te recomiendo que antes de preguntar algo....vamos a llamarlo "genérico" pruebes a buscarlo en Internet.
Título: Re:Patrones de Diseño para proyectos en Java
Publicado por: Fidel123 en 09 de Julio 2020, 23:36
Hola.
Gracias por responder.
En lo de conocer estamos igual, solo conocia un patron, el que mencione al principio.
Como dices, si busque pero queria saber algo mas especifico(por decirlo asi).
Muchas gracias por todo .
Título: Re:Patrones de Diseño para proyectos en Java
Publicado por: Kabuto en 10 de Julio 2020, 11:22
El patrón MVC no es exclusivo para web.
Fue diseñado para aplicaciones de escritorio y, de hecho, cuando se quiso aplicar a entornos web no resultaba del todo adecuado.
Aún se pueden encontrar artículos antiguos como este de 2011 (http://grosshat.com/bazaar/mvc-en-la-web-la-gran-farsa-de-los-arquitectos-de-software/) sobre "la farsa" de usar MVC en la web.
No es que fuera mala o buena opción, es que la web por su filosofía dinámica, es imposible aplicar un MVC "real".

Hoy día, las herramientas de desarrollo web han madurado y se adaptan mejor al MVC.

Hay otros patrones como los que enlazaba daenius, pero son enfocados a situaciones más concretas y no tienen sustituyen a MVC, si no que lo complementan.

Es decir, podemos hacer un programa con patrón MVC, donde en el modelo usemos el patrón Strategy para la creación de determinadas clases y el patrón DAO para la obtención de datos guardados.

Sí hay alternativas al patrón MVC como: PAC(Presentación–Abstracción–Control), MVA (Modelo-Vista-Adaptador),MVP(Modelo-Vista-Presentador) o  MVVM (Modelo-Vista-VistaModelo).

Por sus siglas, podemos adivinar que en realidad son evoluciones del MVC original, el cuál fue ideado allá por el año 1979.
Las cosas han cambiado mucho desde entonces y aunque el MVC sigue siendo aplicable, en muchos ámbitos, como aplicaciones web o aplicaciones móviles, no resulta del todo eficiente y por eso han surgido variantes y evoluciones para cada caso.