Skip to content

Arquitecturas generales

Las arquitecturas son otra forma de patrones que se orienta a la organización global del proyecto. Por ejemplo las famosas arquitecturas monolíticas o de microservicios. Aunque claro, esos ejemplos solo se centran en desarrollo web. En esta sección no solo encontrarás arquitecturas web, también veras arquitecturas orientadas a proyectos generales o de escritorio

El modelo de capas consiste en que utiliza múltiples capas para interactuar con diferentes niveles del sistema. Este patrón se basa principalmente en la idea de que un sistema puede ser representado como una estructura jerárquica de capas, donde cada capa proporciona servicios a las capas superiores. Es decir que ninguna capa inferior depende de alguna capa superior.

Este modelo busca dividir las funcionalidades de la aplicación en 3 partes; la vista, que se encarga de lo que ve el usuario; el controlador, que comunica la vista con la base de datos (el modelo); y el modelo que encarga de las entidades de la base de datos

Esta arquitectura busca evitar hardcodear dependencias en el código. Por ejemplo, si tienes una dependencia para leer un documento, busca que si en algún momento debes cambiar de dependencia, que el sistema no se rompa completamente

Un monolito es una app que está todo en el mismo sitio, la funcionalidad, vista, controladores, etc. todo se despliega junto. Un monolito no necesariamente es malo. En realidad, yo suelo usarlos porque no he hecho una aplicación que necesite dividir los servicios. Además, puedes tener un monolito modular que es más rápido de crear que una arquitectura de micro servicios, pero tiene la facilidad de ser dividido si fuese necesario.

Esto es como crear plugins pero con esteroides. Busca permitir añadir funcionalidades al propio core del sistema.

Esta arquitectura es muy necesaria para diseño de bases de datos distribuidas porque permite hacer replicas y tener nodos maestros que se enfocan en orquestar el resto de nodos.

Información de Referencia P2P