Arquitectura

ARQUITECTURA DE LA APLICACION

Arquitectura Model-View-Controller (MVC) en Swift:


Una arquitectura bien diseñada puede ayudar a garantizar que la aplicación tenga una estructura sólida y bien organizada, lo que puede facilitar su mantenimiento y ampliación en el futuro. Además, una buena arquitectura puede ayudar a asegurar que la aplicación sea fácil de entender y utilizar para otros desarrolladores, este tema es muy importante si trabajas en un equipo con varios iOS developers. También una buena arquitectura puede ayudar a mejorar el rendimiento, la escalabilidad y la testabilidad  de la aplicación.

O también puedes imaginar la arquitectura de tu app comos partes, donde cada parte del motor tiene una función específica. Y juntando todas las piezas haces que  una casa con muchas o pocas habitaciones. Cada habitación sería una capa de tu arquitectura con una responsabilidad.

Puedes tener una casa diáfana y poder ver la cocina, comedor, dormitorio, etc. o con muchas habitaciones, lo importante es tener un orden. Si vas a la cocina y abres la nevera, no quieres encontrarte ropa, o un portátil. Quieres que cada cosa de tu casa esté ordenada y en su sitio. Estos son solo ejemplos para dejarte más claro que una arquitectura te da control y orden.

Al seguir una estructura es más fácil dividir responsabilidades, seguir el código, iterar, etc. y depende de qué aquitectura usemos podemos crear un código más mantenible, escalable y testable. Lo importante es que te sientas cómodo con la arquitectura que estás usando en tu app y que veas que no estás creando clases enormes con mucha responsabilidad.
Esto va por gustos, incluso puedes usar una arquitectura y modificarla para que se adapte mejor a tus necesidades, es decir, podrías seguir la arquitectura MVC y podrías añadir algún componente nuevo que te ayudara a separar más responsabilidades o a testear mejor cierta lógica. Hablando de esto, al final de este video habremos aprendido a usar Model-View-Controller y encima con coordinators (añadiendo una abstracción para desacoplar la navegación dentro de tu app, La arquitectura Model-View-Controller, este patrón de diseño está compuesto por otros patrones  


     VIDEO REFERENTE A ESTA ARQUITECTURA:




Arquitectura Model-View-Controller con Coordinators en Swift



Al usar arquitecturas podemos aplicar diferentes patrones. En este ejemplo vamos a usar el Patrón Coordinator dentro de la arquitectura Model View Controller en Swift. Este patrón nos permite encapsular la lógica de navegación dentro de una clase que solo tiene esta responsabilidad,  Este protocolo tiene dos variables opcionales llamadas viewController y navigationController. Estas variables nos servirán para hacer un present en el caso de querer presentar de forma modal un ViewController. O un push en el caso de presentar un ViewController cuando usamos un NavigationController.
También, hay un método llamado start que es el que lanzará la acción de navegar. Todo esto lo vamos a implementar ahora en un MainCoordinator.
Para finalizar, he añadido un valor por defecto de nil a las variables del protocolo Coordinator.

     VIDEO REFERENTE A ESTA ARQUITECTURA:






Arquitectura Model-View-ViewModel (MVVM) en Swift




es una de la arquitecturas más usadas al crear una aplicación en Swift. Tenemos 3 componentes: El Model, la View, y el ViewModel. La View escucha cambios que ocurren en el ViewModel con Bindings, Al utilizar Model-View-ViewModel vemos que tenemos diferentes responsabilidades separadas en varios componentes. La vista se encarga de mostrar los datos en la pantalla, el View Model se encarga de recuperar información y manipularla y finalmente el modelo se encarga de recuperar y almacenar los datos. Al utilizar MVVM, podemos reutilizar el modelo en diferentes partes de nuestra app, también mejoramos la testabilidad, podemos testear un ViewModel sin necesidad de preocuparnos por la View o Model, y también tenemos una buena escalabilidad de nuestra app, a medida que creamos nueva funcionalidad podemos agregar nuevos componentes sin afectar a la View o al Model Un tema importante sobre la arquitectura MVVM es que el ViewModel comunica cambios de los datos a la View con Bindings. Es decir, no utilizamos protocolos, como el delegation pattern, en este caso, con MVVM lo que hacemos es crear este Binding desde la View, y vamos a usar el patrón Observer. El ViewModel se transformará en un objeto observable por la View. Es decir, la View esta escuchando cambios que ocurren en el ViewModel, y cuando hay una actualización de un valor, este cambio se ve reflejado automáticamente en la View.




     VIDEO REFERENTE A ESTA ARQUITECTURA:

Arquitectura Model-View-Presenter en Swift (MVP)




La Arquitectura Model-View-Presenter es una de las arquitecturas más usadas al crear una aplicación en Swift. Dentro de esta arquitectura hay 3 capas bien diferencias, la View,Model y Presenter. Sigue leyendo que vamos a crear una app muy práctica usando esta Arquitectura, La Arquitectura MVP nos permite mantener nuestra aplicación desacoplada y esto nos permite crear tests fácilmente, por ejemplo el Presenter está desacoplado de la UI y esto nos permite crear tests de una manera muy limpia. Una vez hemos visto una introducción de cada capa dentro de la Arquitectura Model-View-Presenter



Aplica  el Patrón de Diseño MVC, una solución reutilizable a problemas recurrentes que se encuentran  en el diseño de software.

 

Facilita el trabajo del desarrollador al escribir aplicaciones para IOS.

 

División de la aplicación en tres capas en las que cada una tiene una responsabilidad.



-La capa Model es en donde se almacenan los datos de la aplicación. Las clases que gestionen la persistencia de datos, los objetos Model. Las clases de comunicación de Cocoa Touch.

-La capa Controller es la encargada de sincronizar la comunicación entre la capa View y la capa Model.

-La capa View representa la interfaz con el usuario, despliega los datos de la capa modelo a través de la capa Controller.





 




 





Comentarios

Entradas populares