Cerrar

Actualidad · Artículo

Cooperatividol, el medicamento contra el neoliberalismo

Cooperatividol, el medicamento contra el neoliberalismo 

La Cooperativa, la mejor fórmula para el emprendimiento

La letra pequeña de los prospectos farmacéuticos contiene una gran cantidad de información útil para ajustar los tratamientos prescritos por los facultativos a cada persona, describir interacciones o...

FEVECTA. Federación Valenciana de Empresas Cooperativas de Trabajo Asociado

Actualidad · Artículo

Geolocalización: La llave para un control eficiente del tiempo laboral

Geolocalización: La llave para un control eficiente del... 

La Ubicación como aliada estratégica

En el panorama empresarial moderno, donde la optimización de recursos y la eficiencia operativa son fundamentales, la geolocalización en las empresas ha surgido como una herramienta poderosa para...

Actualidad · Noticia

Hemos Sido Nominados A Los Premios Vocación Digital Raiola

Hemos Sido Nominados A Los Premios Vocación Digital Raiola 

La ceremonia de entrega de premios se llevará a cabo el 15 de julio de 2024 en Zaragoza.

Queridos amigos y seguidores, Es un honor y un privilegio para mí compartir una noticia que nos llena de alegría y orgullo: nuestra querida agencia de SEO, Cantineoqueteveo, ha sido nominada para...

Agenda · Charla - Coloquio

Liderazgo Estratégico en Ciberseguridad: un rol crucial en la protección de los activos digitales de la empresa

Liderazgo Estratégico en Ciberseguridad: un rol crucial en... 

El martes, 18 de junio de 2024

Cómo desarrollar una cultura de ciberseguridad dentro de la organización

Desde CEEI Castellón como entidad colaboradora del Instituto Nacional de Ciberseguridad (INCIBE) impulsamos INCIBE Emprende, el Programa de Impuslso a la Industria de la Ciberseguridad Nacional.  De...

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

Actualidad · Noticia

Ramón Ferrandis: “El primer semestre del año ha sido muy positivo para el CEEI Valencia

Ramón Ferrandis: “El primer semestre del año ha sido muy... 

Agradece el apoyo a todas las personas y organizaciones de la Junta Directiva y la Asamblea

Ramón Ferrandis, CEO del CEEI Valencia, ha valorado el primer semestre del año como "muy positivo para la organización". Este período ha sido testigo de hitos significativos que han reforzado el...

Centro Europeo de Empresas e Innovación de Valencia

Actualidad · Convocatoria

TNW Startup Programme 2024

TNW Startup Programme 2024 

El programa TNW FOR STARTUPS ofrece a las start-ups la oportunidad de crecer, escalar y generar visibilidad para su negocio

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

Las Naves

Actualidad · Convocatoria

Premios Rural’GO Mallorca

Premios Rural’GO Mallorca 

Convocatoria para impulsar la consolidación de empresas en el ámbito rural

Mallorca Rural organiza la primera edición de los premios Rural’GO de consolidación de empresas en el ámbito rural, que reconocerán cuatro planes estratégicos empresariales del mundo rural de...

Actualidad · Convocatoria

Programa Tierra de Oportunidades | Provincia de Segovia

Programa Tierra de Oportunidades | Provincia de Segovia 

Convocatoria de proyectos de emprendimiento rural

La COORDINADORA PARA EL DESARROLLO INTEGRAL DEL NORDESTE DE SEGOVIA- CODINSE y CaixaBank organizanla convocatoria Tierra de Oportunidades para apoyar iniciativas y proyectos de emprendimiento en la...

Actualidad · Convocatoria

The Gap in Between Startup Challenge

The Gap in Between Startup Challenge 

El ganador será premiado con 10.000 euros, y cinco finalistas reconocidos por presentar el mejor proyecto dentro de cada temáticas del evento

The Gap in Between Startup Challenge tiene como objetivo promover el emprendimiento con impacto social y medioambiental. El desafío pretende convertirse en una plataforma líder para que las startups...

Social Nest Foundation

Agenda · Webinar

Revoluciona tu actividad comercial con el nuevo CRM para Sage 200

Revoluciona tu actividad comercial con el nuevo CRM para... 

El miércoles, 26 de junio de 2024

¡Asegura tu plaza!

¿Te gustaría impulsar las ventas de tu negocio en más de un 25%? ¿Sabías que puedes conseguirlo con Sage 200? ¿Cómo? ¡Inscríbete en el webinar que estamos preparando para descubrirlo! Durante el...

Opentix - Desarrollo de software de gestión empresarial

Agenda · Webinar

De NAV a Business Central: Casos de éxito y promoción del Programa de Actualización de Microsoft y Aitana

De NAV a Business Central: Casos de éxito y promoción del... 

El jueves, 13 de junio de 2024

¡Reserva tu plaza!

¿Estás listo para transformar tu negocio con Business Central, pero necesitas conocer los resultados reales antes de tomar una decisión? ¿Quieres saber cómo otros han superado los desafíos de la...

Aitana

Agenda · Webinar

De NAV a Business Central: Estrategias de migración y opciones de licenciamiento

De NAV a Business Central: Estrategias de migración y... 

El martes, 11 de junio de 2024

¡Inscríbete ya!

¿No sabes por dónde empezar para migrar de Dynamics NAV a Dynamics 365 Business Central? ¿Conoces cuál es la mejor opción para maximizar el retorno de inversión y minimizar las interrupciones en tu...

Aitana

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.768 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