crossword

Arquitectura de Software

Un sistema debe cumplir con sus funciones, pero no es lo único! también debe tener ciertas características no explícitas (tiempos de respuesta, seguridad, mantenibilidad, y muchas más), que se logran mediante una buena arquitectura de software.

El término arquitectura suena complejo y a lo largo del tiempo se han creado muchas definiciones. Para entenderlo vamos a llevarlo a algo simple: elementos y relaciones.

Podemos pensar a la arquitectura como un conjunto de estructuras. Estas estructuras están formadas por elementos, que se relacionan entre sí. Podemos decir que la arquitectura de software comprende elementos de software y cómo se relacionan entre sí.

Es una de las ramas fundamentales en materia de desarrollo de software, la forma que se le da al sistema, considerando temas como capas, responsabilidades, cohesión, acoplamiento, abstracción.


architecture

Modelos Arquitectónicos Clásicos y Modernos

¿Cómo se arma un sistema? Hay quienes hacen todo en un solo bloque (Monolito), otros lo separan en dos grandes piezas (Cliente-Servidor), y están los que lo dividen en muchos bloquecitos que se comunican entre sí (Microservicios). Incluso existe la opción de que los bloques aparezcan solo cuando se los necesita, ante eventos (Serverless). Acá te muestro cada modelo, sus ventajas, sus limitaciones y cuándo conviene usarlos.

Modelo Cliente-Servidor

Base de la comunicación entre apps web y móviles.

Ver Artículo
Arquitectura Monolítica

Todo en un único bloque de despliegue.

Ver Artículo
Arquitectura Serverless

Funciona sin administrar servidores.

Ver Artículo

Patrones o Estilos de Arquitectura

Distintas formas de organizar el código en nuestro sistema.

Arquitectura en Capas

La arquitectura en capas es una técnica para organizar el código de un sistema en capas, en donde cada capa usa los servicios...

Ver Artículo

Arquitectura Hexagonal

La Arquitectura Hexagonal, también conocida como “Arquitectura de Puertos y Adaptadores”, es un modelo...

Ver Artículo

Arquitectura Limpia

Clean Architecture o Arquitectura Limpia es un término que introdujo Robert C. Martin (Uncle Bob), como un enfoque...

Ver Artículo


Patrones de Arquitectura Empresarial

Este tipo de patrones son usados en aplicaciones de tipo empresarial. Fueron difundidos por Martin Fowler en su libro “Patterns of Enterprise Application Architecture”, una guía fundamental a la hora de diseñar la arquitectura de un sistema.

Domain Logic Patterns

Se centran en la organización y estructura de la lógica del negocio, enfocados en facilitar su comprensión, mantenimiento y evolución.

Transaction Script

Un Transaction Script es un patrón de diseño en el que se organiza la lógica de negocio en procedimientos. Cada…

Ver Artículo
Domain Model

Domain Model es un patrón de diseño que representa con objetos los conceptos relevantes del dominio del problema y las…

Ver Artículo
Table Module

Organiza la lógica de negocio en clases o módulos, donde cada uno representa una tabla en…

Ver Artículo
Service Layer

Service Layer es un patrón de diseño que define una capa de servicios dentro de una aplicación para abstraer y…

Ver Artículo

Data Source Architectural Patterns

Diferentes enfoques para gestionar la capa de acceso a datos, con distintos niveles de abstracción y desacoplamiento entre la lógica de negocio y la persistencia de datos.

Table Data Gateway

El Table Data Gateway es un patrón de diseño que actúa como un intermediario entre la aplicación y una tabla…

Ver Artículo
Row Data Gateway

Row Data Gateway encapsula el acceso a una fila de una tabla en una base de datos, actuando como un…

Ver Artículo
Active Record

Active Record es un patrón de diseño en el que los objetos de una aplicación encapsulan tanto los datos (el…

Ver Artículo
Data Mapper

El Data Mapper es un patrón de diseño que propone un componente intermediario para mapear los datos entre la base…

Ver Artículo

Base Patterns

Brindan estrategias y estructuras fundamentales para problemas comunes en el diseño de software.

Gateway

Gateway se utiliza para encapsular el acceso a un sistema externo o recurso, como podría ser una red de computadoras,…

Ver Artículo
Mapper

El patrón Mapper, a menudo implementado como un objeto que mapea un conjunto de datos a otro, se usa para…

Ver Artículo
Layer Supertype

Layer Supertype define una superclase para todas las clases dentro de una capa específica de una aplicación…

Ver Artículo
Separated Interface

Separated Interface se refiere a la práctica de definir la interfaz de un componente en un paquete o módulo separado…

Ver Artículo
Registry

El patrón Registry establece un mecanismo centralizado para almacenar y recuperar objetos e instancias de servicios utilizados…

Ver Artículo
Value Object

Un Value Object es un objeto que representa un valor y no tiene identidad. Lo único que importa es su valor, dos value object…

Ver Artículo