Cerrar

Actualidad · Noticia

El ayuntamiento de Onda capacita a emprendedores y empresarios en el uso efectivo de la Inteligencia Artificial

El ayuntamiento de Onda capacita a emprendedores y... 

El Ayuntamiento de Onda y el CEEI ofrecen talleres formativos para potenciar el desarrollo económico y la competitividad

  El Ayuntamiento de Onda y el Centro Europeo de Empresas e Innovación (CEEI) han establecido una colaboración estratégica para promover el uso de la inteligencia artificial a través de la...

Centro Europeo de Empresas e Innovación de Castellón (CEEI Castellón)

Agenda · Jornadas

Claves para aumentar las ventas integrando herramientas de Inteligencia Artificial

Claves para aumentar las ventas integrando herramientas de... 

El jueves, 09 de mayo de 2024

¡Descubre cómo la IA está cambiando el mundo de las ventas en nuestra Masterclass!

Te invitamos a asistir ya sea de forma presencial en las instalaciones de AVECAL (en Elche) o en formato online. ¿Qué aprenderás en esta sesión? Descubrirás cómo la IA está cambiando el mundo de...

LabPyme

Agenda · Encuentros

Networking: DATOS DIGITALES - BUSINESS INTELLIGENCE. Oropesa del Mar y Online

Networking: DATOS DIGITALES - BUSINESS INTELLIGENCE.... 

El jueves, 16 de mayo de 2024

Oficina Acelera Pyme Rural - Diputación de Castellón

CICLO: DATOS DIGITALES BUSINESS INTELLIGENCE Desde la oficina Acelera Pyme Rural de la Diputació de Castelló os invitamos a formar parte del ciclo Datos Digitales: Business Intelligence que se va a...

Diputación Provincial de Castellón

Agenda · Webinar

Webinar: DATOS DIGITALES - BUSINESS INTELLIGENCE

Webinar: DATOS DIGITALES - BUSINESS INTELLIGENCE 

El martes, 14 de mayo de 2024

Oficina Acelera Pyme Rural - Diputación de Castellón

CICLO: DATOS DIGITALES BUSINESS INTELLIGENCE Desde la oficina Acelera Pyme Rural de la Diputació de Castelló os invitamos a formar parte del ciclo Datos Digitales: Business Intelligence que se va a...

Diputación Provincial de Castellón

Actualidad · Artículo

Descubre cómo elegir la agencia de marketing en Alicante perfecta para tu proyecto web

Descubre cómo elegir la agencia de marketing en Alicante... 

En el vertiginoso mundo del marketing digital, encontrar la agencia de marketing adecuada en Alicante puede marcar la diferencia entre el éxito y el estancamiento. En Brandpost, comprendemos la...

BRANDSON MARKETING & CONTENT, S.L.

Agenda · Encuentros

Networking: APLICACIONES DE CLIENTES - CRM. Oropesa del Mar y online

Networking: APLICACIONES DE CLIENTES - CRM. Oropesa del Mar... 

El jueves, 09 de mayo de 2024

Oficina Acelera Pyme Rural - Diputación de Castellón

CICLO: APLICACIONES DE CLIENTES CRM Desde la oficina Acelera Pyme Rural de la Diputació de Castelló os invitamos a formar parte del ciclo de Aplicaciones de clientes CRM que se va a realizar el 7 y...

Diputación Provincial de Castellón

Agenda · Webinar

WEBINAR: APLICACIONES DE CLIENTES - CRM

WEBINAR: APLICACIONES DE CLIENTES - CRM 

El martes, 07 de mayo de 2024

Oficina Acelera Pyme Rural - Diputación de Castellón

CICLO: APLICACIONES DE CLIENTES CRM Desde la oficina Acelera Pyme Rural de la Diputació de Castelló os invitamos a formar parte del ciclo de Aplicaciones de clientes CRM que se va a realizar el 7 y...

Diputación Provincial de Castellón

Actualidad · Convocatoria

Programa Acelera Startups

Programa Acelera Startups 

Plan de Aceleración

Presentación El Programa de Aceleración de Startups tiene por objetivo facilitar a startups y emprendedores innovadores, de todos los sectores, actividades de asesoramiento especializado orientadas...

Escuela de Organización Industrial (EOI)

Actualidad · Convocatoria

Programa Activa Ciberseguridad

Programa Activa Ciberseguridad 

Ayudas para el diagnóstico y elaboración de un Plan de Ciberseguridad para pymes

¿En qué consiste? Activa Ciberseguridad es uno de los programas ACTIVA impulsados por el Ministerio de Industria y Turismo en el desarrollo de su Estrategia Nacional de Industria Conectada 4.0 que...

Escuela de Organización Industrial (EOI)

Agenda · Congresos

Business+ Foro Empresa Alicante 2024

Business+ Foro Empresa Alicante 2024 

El martes, 21 de mayo de 2024

Business+ Foro Empresa 2024 es un tour de eventos presenciales para las pequeñas y medianas empresas españolas y el 21 de mayo llega a Alicante. Business+ Foro Empresa Alicante 2024 está dirigido...

Business+

Actualidad · Convocatoria

Programa Activa Crecimiento

Programa Activa Crecimiento 

Ayudas para el diagnóstico y elaboración de un Plan de Crecimiento para pymes

¿En qué consiste? Activa Crecimiento es uno de los programas ACTIVA impulsados por la Secretaría de Estado de Industria delMinisterio de Industria y Turismo en el desarrollo de su Estrategia...

Escuela de Organización Industrial (EOI)

Actualidad · Convocatoria

TNW Startup Programme

TNW Startup Programme 

Un festival tecnológico cuyo objetivo consiste en multiplicar la trayectoria de crecimiento de las startups

El Ayuntamiento de València, a través de València Innovation Capital, lanza una Manifestación de interés para seleccionar a startups que quieran participar en el Programa TNW for Startups en el marco...

Las Naves

Por qué utilizar una Clean Architecture

clean

Se conocen así, porque todas ellas se basan en el mismo principio de diseño de software: la separación de responsabilidades.

MyTaskPanel Consulting

MyTaskPanel Consulting

Publicado el martes, 22 de noviembre de 2022 a las 08:45

Hoy en día, en el mundo del software, se usan mucho las llamadas Clean Architecture. Se conocen así, porque todas ellas se basan en el mismo principio de diseño de software: la separación de responsabilidades. Una de las más conocidas es la arquitectura hexagonal, pero hay otras tantas. En esta ocasión, te contamos lo que necesitas saber para entender cuándo y por qué utilizar una Clean Architecture.

 

Partes o niveles de una Clean Architecture

– Infraestructura: son los elementos externos con los que se comunica la aplicación, tanto de entrada como de salida:

  • Puntos de entrada: una API con REST o GraphQL, mensajería con RabbitMQ o mediante línea de comandos, etc.
  • Puntos de salida: una base de datos relacional con PostgreSQL, no relacional con MongoDB, o también envío de mensajes con RabbitMQ, etc.

– Application/Use Cases: se trata de la evaluación de reglas de negocio y toma de decisiones. Contienen las reglas que le dan sentido a la aplicación. Los casos de uso dirigen el flujo a las entidades y las orquestan para cumplir con el negocio.

– Domain: responde al modelo de datos de la aplicación, servicios de dominios, interfaces, etc. Las entidades son los modelos definidos que interactúan en el sistema; deben ser lo suficientemente abstractas para ser usadas por múltiples aplicaciones en el negocio.

 
Principios de Clean Architecture
 
1. Independiente de cualquier framework

La arquitectura limpia debe ser capaz de aplicarse a cualquier sistema, sin importar el lenguaje de programación o las librerías que utilice. Las capas deben quedar tan bien separadas que puedan sobrevivir de forma individual, sin necesidad de externos.

2. Apto para testeos

Cuanto más pura sea una función, una clase o un módulo (es decir, que no tenga efectos colaterales), más fácil será predecir el resultado que se va a obtener. Cada módulo, tanto de UI, base de datos, conexión a API Rest, etc., se debe poder testar de manera individual.

3. Independiente de la interfaz de usuario (UI)

Uno de los componentes que sufre cambios de forma constante es la interfaz de usuario. La UI debe ser capaz de cambiar sin alterar todo el sistema. Si vamos más allá, esta capa debería vivir tan independiente como para ser desensamblada y sustituida por otra. Por ejemplo, que se pueda cambiar una UI Móvil por una en modo consola.

4. Independiente de la base de datos

Como en el punto anterior, esta capa debe ser tan modular como para agregarle múltiples fuentes de datos e, incluso, múltiples fuentes del mismo tipo de datos. Por ejemplo, manejar varias bases de datos como MySQL, PostgreSQL, Redis, etc.

5. Independiente de cualquier elemento externo

Si en algún punto de tu sistema necesitas de una librería, otro sistema o cualquier elemento por conectar, debería ser fácilmente ensamblado y modularizado. De hecho, para el sistema, esta capa externa debería ser transparente.

 

Ventajas de emplear una Clean Architecture

Esta tecnología es ideal cuando tienes un proyecto a largo plazo. Si necesitas que perdure en el tiempo, que lo puedas testear con facilidad y alta tolerancia al cambio, que puedas minimizar el impacto de estos cambios, aprovecha los beneficios de esta clase de arquitectura:

1- Implementación inmediata

Puedes implementarla con cualquier lenguaje de programación, entre los que citamos: Java, .Net, Php, Node.js, etc.

2- Foco en el dominio de la aplicación

Esto significa que se coloca el foco primario del proyecto en el núcleo y la lógica del dominio.

3- Posibilidad de cambios

Esta arquitectura permite realizar cambios importantes en la aplicación, sin grandes impactos:

  • Podrías cambiar el framework utilizado en caso de ser necesario, ya que está todo desacoplado. 
  • Podrías, además, cambiar la base de datos que uses o agregar alguna otra si la necesitas.
4- Testeo esperado

Tienes la oportunidad de testear de manera rápida y fácil. Podrías realizar test unitarios de cada una de las capas y test de integración de las diferentes capas entre sí, pudiendo reemplazarlas por objetos temporales que simulen su comportamiento de forma sencilla.

5- Resultado óptimo

Crearás un producto sólido, de calidad y escalable.

Ahora bien, si quieres realizar un producto mínimo viable (PMV), te recomendamos que evites estos tipos de arquitectura. Tardarás demasiado, y requerirá de un costo y esfuerzo innecesarios. Si ese PMV funciona y necesita de un desarrollo más potente y avanzado, las Clean Architecture seguro podrán ayudarte.

Clean Architecture y Domain-Driven Design

Las Clean Architecture encajan muy bien con el enfoque de Domain-Driven Design (DDD). Pero, ¿qué relación tienen estas arquitecturas limpias con DDD?

Al ser una arquitectura que fomenta que nuestro dominio sea el núcleo de todas las capas, y que no se acople a nada externo, funcionan perfecto juntos. Podríamos decir que DDD se basa en una clean architecture como pilar central en términos de arquitectura.

 

Ahora que conoces cuándo y por qué utilizar una Clean Architecture, podrás definir si es la mejor opción para tu proyecto. En MyTaskPanel Consulting, contamos con profesionales de calidad que tienen experiencia en el tema y podrán ser el apoyo tecnológico que necesitas. Consúltanos sin compromiso aquí.

4.585 visitas

Utilizamos cookies propias y de terceros para ofrecerte toda la funcionalidad y una mejor experiencia, obtener estadísticas de tráfico, analizar el uso de la web y mejorar nuestros servicios.
Tienes disponible aquí nuestra política de cookies.
Puedes aceptar todas nuestras cookies pulsando el botón 'ACEPTAR' o configurar aquí tus preferencias.

Estrictamente necesarias +

Estas cookies son necesarias ya que permiten que el sitio web funcione correctamente, no se pueden desactivar.

Estadísticas +

Son las cookies que utilizamos exclusivamente con fines estadísticos para poder analizar cómo los usuasrios hacen uso de la web. Recopila información anónima tal como el número de visitantes del sitio, o las páginas más populares. Activar estas cookies nos permite seguir mejorando.

Funcionales +

Estas cookies son necesarias para el intercambio y presentación de contenidos de plataformas externas como youtube o de redes sociales como facebook, twitter o linkedin.

Marketing y publicidad +

Estas se utilizan para crear perfiles de usuario y analizar la efectividad de campañas publicitarias o para rastrear al usuario en un sitio web o en varios sitios web con fines de marketing similares..

GUARDAR AJUSTESACEPTO