The Composable Architecture

The Composable Architecture es una arquitectura limpia.

  • Debe hacer que el sistema sea fácil de desarrollar para el equipo que lo hace.
  • Dar visibilidad a los casos de uso del sistema. La arquitectura debe revelar el funcionamiento, los casos de uso, sus características y las entidades que se usen.
  • Disminuir el coste de su mantenimiento, de añadir una nueva funcionalidad o de reparar un defecto.

Un pequeño ecommerce

  • AppState representa el estado de la aplicación. En nuestro caso, queremos mostrar un carrito de la compra, por lo tanto, el estado de la aplicación será un listado de productos.
  • AppAction representa las acciones de la aplicación. En nuestro caso, queremos incrementar los items de un producto. Podríamos necesitar dos acciones, una para añadir un item y otro para restar un item.
  • AppEnvironment representa las dependencias externas que tendremos. En nuestro caso, no vamos a necesitarlas.
  • addItem incrementará en 1 un producto.
  • minusItem decrementará en 1 un producto, 0 como valor mínimo.

Tiempo para SwiftUI.

  • Necesitamos crear un objeto de tipo Store.
  • WithViewStore es un objeto especial que nos permite acceder a la Store.
  • Crearemos un listado y para cada producto mostraremos la información adecuada, un nombre, dos botones y un valor actual de items seleccionados.
  • Para añadir un item, ejecutaremos
  • Para restar un item:

--

--

--

mobile developer

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Albert Gil Escura

Albert Gil Escura

mobile developer

More from Medium

👾 Apollo Integration Fun on iOS

Distributing Binary Frameworks as Swift Packages

Guide to Prototype Pattern in Swift

Introducing the Agoda Widget: What is it, and why did we develop it?