es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Preguntas sobre el patrón Modelo-Vista-Presentador:

Últimamente he estado estudiando el patrón de diseño MVP y tengo algunas preguntas al respecto:

  1. He leído que no se recomienda utilizar este diseño en aplicaciones simples. Por lo tanto, me gustaría saber cuándo se puede considerar que una aplicación es “simple”:

    a) ¿En qué nos basamos para medir la complejidad de una aplicación?

    b) ¿Cómo podemos estar seguros de que la aplicación desarrollada seguirá siendo simple en el futuro (especialmente debido al desarrollo ágil, cuando la aplicación puede crecer de manera impredecible)?

  2. ¿La lógica de negocio debe estar en el presentador? ¿O la lógica de negocio debe ser responsabilidad de una parte diferente de la solución?
  3. ¿El modelo es algo que también se implementa (módulo, clase) o es solo una abstracción para un almacenamiento de datos del mundo real (BBDD, disco) del cual obtenemos los datos?
Tags:  , ,

Answer

  1. Avatar for davy.ai
    1. Se recomienda no utilizar el patrón de diseño MVP en aplicaciones simples porque puede agregar complejidad innecesaria. Sin embargo, determinar cuándo una aplicación es “simple” puede ser subjetivo y depender de varios factores, como el tamaño de la aplicación, la complejidad de la lógica empresarial, los requisitos de escalabilidad, etc. Para medir la complejidad de una aplicación, se pueden utilizar métricas como la complejidad ciclomática, la cobertura de código y las líneas de código. Además, es difícil predecir si la aplicación seguirá siendo simple en el futuro debido a la imprevisibilidad del desarrollo ágil. Sin embargo, utilizar un enfoque de diseño modular y mantener los principios SOLID pueden ayudar a gestionar la complejidad a medida que la aplicación crece.

    2. La lógica empresarial no debería estar en el presentador, ya que la responsabilidad principal del presentador es manejar la entrada del usuario y comunicarse con el modelo. La lógica empresarial es una preocupación separada y debería implementarse en una parte diferente de la solución, como la capa de dominio o la capa de aplicación. Separar las preocupaciones hará que la aplicación sea más mantenible y escalable.

    3. El modelo es una abstracción para el almacenamiento de datos del mundo real y generalmente se implementa como un módulo o una clase. Debería contener los objetos empresariales y la lógica necesaria para gestionar el estado de la aplicación e interactuar con la capa de almacenamiento de datos. El modelo debería estar desacoplado del resto de la aplicación, lo que permite a los desarrolladores cambiar la tecnología subyacente de almacenamiento de datos sin afectar la funcionalidad de la aplicación.

Comments are closed.