Publicidad
Publicidad

RSS Arquitectura del software

Usando MVP e inversión de dependencias para abstraernos del framework en Android

19 Comentarios
Usando MVP e inversión de dependencias para abstraernos del framework en Android

Desde hace unos años se habla mucho sobre temas de arquitectura en Android, y quien más quien menos ha oído hablar de MVP (Model-View-Presenter), y de cómo usarlo para hacer las vistas (normalmente Activities o Fragments) lo más simples posibles, mientras el Presenter se encarga de toda la lógica de presentación.

Normalmente, una de las reglas que suelen imponerse es que desde el Presenter hacia abajo, ninguna de las capas sepa nada sobre Android, para aislarnos de ella, con todos los beneficios que ello conlleva. Seguramente, si te has puesto a ello por primera vez, rápidamente te surgirán dudas sobre cómo implementar esto.

Leer más »

Aprender de la arquitectura del mejor software Open Source

7 Comentarios
Aprender de la arquitectura del mejor software Open Source

Para ser un buen desarrollador se debe ser humilde y reconocer el gran trabajo de otros colegas programadores. Muchas veces no observamos con suficiente atención el código de nuestros compañeros para sacar alguna enseñanza de cómo afrontaron el desarrollo de una aplicación. Es curioso, por ejemplo, los arquitectos sí que son muy dados a admirar el trabajo de los grandes maestros y compañeros observando cada detalle de la construcción de un edificio. ¿Por qué no nos fijamos en las grandes creaciones del software más a menudo los desarrolladores?

Leer más »
Publicidad

¿Cómo tomar decisiones de arquitectura? Definiendo y ordenando objetivos

1 Comentario
¿Cómo tomar decisiones de arquitectura? Definiendo y ordenando objetivos

En cualquier proyecto de software que vaya más allá de una prueba de concepto o demostración, necesitaremos una organización racional del trabajo. Tendremos que esforzarnos en buscar patrones repetibles para agilizar futuros procesos y debemos armarnos con criterios duraderos para tomar decisiones coherentes a lo largo del ciclo de vida del proyecto. Esto es, lo que en el mundo de la arquitectura del software, llamamos una metodología. Pero, ¿cómo optar por una u otra? ¿Cómo decidir si adherirnos o no a un determinado estándar? ¿Cómo determinar el nivel adecuado para formalizar más o menos el andamiaje de la solución? ¿Está la metodología contraviniendo la agilidad en el desarrollo? En definitiva, ¿qué criterios seguir para tomar decisiones?.

Las respuestas a estas preguntas estarán condicionadas por las prioridades que otorguemos a los objetivos que nos marquemos al definir nuestra arquitectura del software. En mi credo aparecen objetivos que a todos os resultarán familiares y difícilmente podemos prescindir de alguno de ellos. Pero la cuestión es que, ante una situación de escasez de recursos para hacer frente a todos ellos como se merecen, ¿cuál es la prioridad? ¿se pueden ordenar estos sagrados objetivos?. Para el caso de pequeñas consultoras, o startups creando su primer producto propongo esta lista ordenada

Leer más »
Publicidad
Inicio
Inicio

Ver más artículos