Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

2 Días
14 Hrs
18 Min
10 Seg

¿Qué son las arquitecturas limpias?

2/24
Resources
Transcript

What is the three-tier architecture?

The three-tier architecture is one of the most common and recommended structures for organizing applications. This approach divides the application into three main layers: the presentation layer, the domain and the data layer.

  • Presentation layer: This is the interface that interacts directly with the user. It can be a web, mobile or desktop interface.
  • Domain: It houses the business logic, validations and calculations required for the application.
  • Data layer: It connects to the databases, which can be relational such as PostgreSQL or SQL Server, or even non-SQL databases.

The importance of this structure lies in the separation of responsibilities, which allows greater organization and maintainability of the application.

What is the Model View Controller (MVC)?

The model view controller, known as MVC, is another popular pattern for structuring applications. Similar to the three-tier architecture, this pattern also divides the application but with a different nomenclature:

  • View: interacts directly with the user and handles the requests that will be sent to the controller.
  • Controller: Acts as the mediator that decides how to handle the requests received from the view. It is in charge of directing these requests to the correct model.
  • Model: Contains the business logic and handles the access to the data, managing the interactions necessary to fulfill the requests.

MVC is valued for its ability to clearly separate responsibilities and facilitate collaborative development.

What are the limitations of these approaches?

Although both the three-tier architecture and the MVC pattern are widely used, they have some limitations:

  1. Database-centric development: The structure converges to the database, making database design the first step in development.
  2. Dependence of business logic on persistence: Business logic is so dependent on the persistence of data that it can be difficult to imagine it without a place to store it.
  3. External integrations: It is unclear where additional integrations such as social networking or file systems should be included, causing potential architectural clutter.
  4. Business logic leakage: Business logic can be scattered in layers not intended for it, such as presentation, preventing effective reuse.

These limitations are the breeding ground for more modern architectures, such as clean architectures, which seek to address these challenges in a clearer and more organized way.

What is the purpose of clean architectures?

Clean architectures are born as a response to the limitations of traditional systems such as the three-tier architecture and the MVC pattern. They focus on clearly separating dependencies and business logic, providing more flexible and modular structures. Developed to facilitate code understanding and reuse, these architectures promote that every piece of the system has a defined place and purpose, which minimizes the possibility of errors and optimizes development efficiency. With solutions like these, developers can create sustainable applications that are more adaptable to change and continuous growth.

Contributions 36

Questions 5

Sort by:

Want to see more contributions, questions and answers from the community?

Me siento un poco estraño mirando un video desde mi portatil en formato reels.

Aqui un video con una explication un pro sobre la arquitectura hexagonal
https://www.youtube.com/watch?v=JubdZIdLQ4M

Desventajas de utilizar arquictura de capas o MVC:

• Desarrollo centrado en la base de datos
• Logica de negocio depende de la persistencia
• Si hay otras integraciones, no es claro donde van
• La logica del negocio a veces se filtra

Las arquitecturas MVC y de tres capas tienen limitaciones:

  1. Desarrollo centrado en la base de datos.

    Todo converge en una base de datos, ya sea relacional o no relacional.

  2. La lógica de negocio depende totalmente de la persistencia.

  3. Si hay otras integraciones, no queda claro donde tienen que ir.

  4. La lógica de negocio a veces empieza a filtrarse.

    Esta lógica empieza a esparcirse en multiples capas y evita reutilizar código.

Una arquitectura limpia tiene como objetivo que la lógica de de negocio el dominio esté limpia de detalles de implementación como son qué base de datos usar, o a qué sistema de archivos conectarse.

La idea es que se pudiera cambiar la base de datos, lleva a otro proveedor de la nube sin tener que cambiar el dominio.

Clase 2:¿Qué son las arquitecturas limpias?

Habitaulmente las arquitecturas se organizan en tres capas puede tener menos capas:

  • Presentación
  • Dominio
  • Acceso a datos

La arquitectura mas usada MVC

  • Vista -> Interfaces mas que todo el front para presentar los datos e interación con el usuario
  • Controlador -> son los pies de tu aplicación aqui se controla donde se realiza el pase de los datos
  • Modelo -> la sección logica e interación con la base de datos

Desventajas de estas capas convencionales

  • Sin embargo tenemos muchas limitaciones por su desarrollo centrado en la base de datos
  • La lógica de negocio depende totalmente de la persistencia.
  • Si hay otras integraciones, no queda claro donde tienen que ir.
  • La lógica de negocio a veces empieza a filtrarse.

Ante estas desventajas nacen las arquitecturas limpias

La arquitectura limpia, consiste en la separación de responsabilidades con el objetivo de optimizar la productividad de los desarrolladores, disminuir los errores, ofreciendo así el poder de la flexibilidad ante los futuros cambios, partiendo de que la app en desarrollo en un futuro pueda ser mas escalable. Esta premisa viene del arte de la guerra, del libro de Sun Tzu de divide y venceras. Es importante entender que al dividir entre las distintas capas a la hora de desarrollar codigo, obtenemos beneficios como:

  • Facibilidad de comprensión y mantenimiento.
  • Robustez
  • Escalabilidad.
Me toco implementarlas varias veces en proyectos de .Net, la verdad si funcionan para proyectos pequeños, pero mientras mas crecemos nuestra aplicacion empieza a caracer de estructura clara.
Curioso como son las limitaciones de una arquitectura que constantemente están recomendando, obvio no podemos decir que es mala, porque tiene sus ventajas, de igual manera la arquitectura de 3 capas me para algo simple para un desarrollo coroto y no tan complejo.
Buen día, me gustaría saber en qué casos es recomendable usar la arquitectura MVC
En el mundo de la programación me inicié con la arquitectura MVC.
Cuando comencé lo hice con una arquitectura en capas. Luego pase a desarrollar con mvc y luego me pase al patrón repository. Por ultimo, aprendí la arquitectura hexagonal y la aplico principalmente en algunos frontend.
me gusto el ejemplo del 10

En la universidad me toco apreder a usar la arquitectura MVC.
Que tiempos aquellos 😌

En la mayoria de proyectos de la Universidad o Cuando recien comenzaba en Desarrollo siempre se utlizaba La Arquitectura MVC, Principalmente para proyectos de Java O Php

Si he usado el MVC pero no conocía a profundidad las limitaciones que pueda tener.

buenas! si, use ambas arquitecturas en proyectos desde hace tiempo en varias tecnologías. En el 2010 creo que estaba en auge el MVC y se aplicaba a todo.

Hola Manuel en mi caso si, pero la arq MVC

El patrón MVC lo he utilizado para desarrollar aplicaciones web con JAVA y Spring Boot, y no conocia sobre la arquitectura limpia, que bueno que ahora podré aprenderlo🎉

Efectivamente ya lo conocía, trabajo como desarrollador Unity donde tuve la oportunidad de trabajar con el modelo MVC. Sin embargo, prefiero usar la variante MVP

En mi trabajo aplico la arquitectura de tres capaz, realmente no sabia que tenia este nombre. Lo he aplicado de esta forma porque ha parecido lo lógico y efectivamente hay retos en integración con otras herramientas. También lo que mencionas de generar lógica de negocio en componentes muy puntuales. Se ve interesante este curso, saludos!

Las arquitecturas basadas en MVC y 3 capas tienen las siguientes limitaciones: 1 - Desarrollo centrado en la base de datos: Al final todo converge en una base de datos, normalmente en una relacional, y todo esta enfocado en la base de datos, tanto que es lo primero que se diseña. 2 - La lógica de negocio depende de la persistencia: La lógica de negocio está muy ligada a la base de datos. 3 - Si hay otras integraciones no es claro donde van. 4 - La lógica de negocio a veces se filtra.

El patrón MVC si lo había utilizado antes principalmente en aplicaciones .NET

Si, he aplicado con anterioridad ambas, tanto el patrón MVC como la arquitectura de 3 capas y efectivamente se tienen estas limitaciones donde la aplicación no puede vivir sin la base de datos.

es el inicio de todos tanto tomando cursos o la universidad

Recuerdo que antes veia sistemas que incluso manejaban la logica de negocio en la misma base de datos ( store procedudres).

Si, hace algunos años trabaje con el patron MVC.
lo mas recomendable es usar arquitecturas limpias.

Yo empece a trabajar con arquitectura en 3 capas desde los tiempos de visual basic 6.0. me la enseñaron en un curso presencial. Un ingeniero certificado microsoft.

Ciertamente, desarrollando con MVC tuve estos problemas que menciona en PHP intenté separarlo y ordenarlo lo mas prolijamente posible pero aún así, me encontré en un punto donde implementar algo se volvía muy complicado porque afectaba a muchas partes del sitio web que al tener varias áreas de venta que se relacionaban con un login por roles para cada tarea dentro de cada área

Es con la arquitectura con la que casi todos empezamos MVC

Si, ya conocía el patrón MVC y lo he aplicado.

ptimero que nada gracias por el curso, en segundo si si las conocia y las he aplicado y por ultimo un comentario creo que debemos de dejar esta tendencia aquejarnos , si entiendo que pagamos una membresia y antes de ver si el formato no me gusta o comparar con otras escuelaqs debemos ver que nos estan dando un bloque de conrtenidos a la medida de lo que hoy dia te exijen en una entrevistqa y que por mucho que lleves 17 primaveras trasbajandolo a veces no sabes explicar y puede ser una gran diferencia en que perciban sio eres alguien que se puede integrar a un equipo o llevarlo como guia perfon el formato amontonado de mi comentario :p

Saludos lls quiero y nunca paren de aprender
PD ne encancto poder crfear apuntes

la arquitectura de 3 capas es la arquitectura por donde muchos comenzamos.

Sí conocía ambos. Especialmente el patrón arquitectónico MVC porque nos lo enseñan en la ingeniería de sistemas. Y precisamente reviví varios recuerdos en los que con MVC de pronto la vista tenía que tomar decisiones, y de pronto el controlador armaba pedazos de html, y de pronto ya ni usábamos el Model. Bendito PHP

si la conocía y si la había aplicado antes en respuesta a tu pregunta

Hola geeks! estoy familiarizado con la arquitectura de 3 capas y el patrón MVC en C#. A lo largo de mi carrera, he tenido la oportunidad de aplicarlos en varios proyectos.