¿cómo hacer una arquitectura de 3 capas?

Inicio » ¿cómo hacer una arquitectura de 3 capas?

Arquitectura limpia c#

Como se puede ver en la figura anterior, la capa de datos no tiene ninguna dirección con la capa de presentación, pero hay una capa intermedia llamada capa de negocio que es principalmente responsable de pasar los datos de la capa de datos a la capa de presentación y añadir la lógica de negocio definida a los datos. Por lo tanto, si separamos cada nivel por su funcionalidad, entonces llegamos a la siguiente conclusión:

La figura anterior es una mezcla de Arquitectura de Tres Niveles y Tres Capas. Aquí, podemos ver claramente una diferencia entre Tier y Layer. Como cada componente es independiente de los demás, son fácilmente mantenibles sin cambiar todo el código.

Este enfoque es realmente muy importante cuando varios desarrolladores están trabajando en el mismo proyecto y algún módulo necesita ser reutilizado en otro proyecto. De este modo, podemos distribuir el trabajo entre los desarrolladores y también mantenerlo en el futuro sin muchos problemas.

Las pruebas también son un tema muy importante para la Arquitectura cuando nos planteamos escribir un caso de prueba para el proyecto. Al tratarse de una arquitectura modular, es muy práctico probar cada módulo y localizar los errores sin tener que recorrer todo el código.

Ejemplo de arquitectura de 3 capas

La arquitectura de tres capas es la división del proyecto en tres capas que son la capa de interfaz de usuario, la capa de negocio y la capa de datos (base de datos) donde separamos la interfaz de usuario, la lógica y los datos en tres divisiones. Supongamos que el usuario quiere cambiar la interfaz de usuario de Windows al teléfono, entonces sólo tiene que hacer el cambio en la capa de interfaz de usuario, las otras capas no se ven afectadas por este cambio. Del mismo modo, si el usuario quiere cambiar la base de datos, entonces sólo tiene que hacer un cambio en la capa de datos, el resto todo sigue igual.

Utilizamos la arquitectura de 3 niveles para gestionar grandes proyectos. Podemos tomar un ejemplo: Supongamos que ha creado 2000 códigos de entidades y ha codificado todo su código en una sola capa. Ahora suponga que quiere cambiar de una aplicación de Windows a una aplicación móvil o web, entonces de nuevo tiene que escribir código para todas las 2000 entidades o quiere cambiar el proveedor de la base de datos, entonces de nuevo tiene que cambiar la conexión de la base de datos en todas las 2000 entidades. Por lo tanto, escribir una cantidad tan grande de código es una pérdida de tiempo y dinero. Además, escribir una gran cantidad de código en una sola capa sólo hace que la gente nueva sea difícil de entender ese código. Así que, para proporcionar mantenimiento, flexibilidad, flexibilidad de actualización sin afectar a otras partes, código limpio y comprensible debemos utilizar la arquitectura de 3 niveles en los proyectos. Esta arquitectura contiene básicamente tres capas:

Arquitectura de 3 niveles c# ejemplo

Como se puede ver en la figura anterior, la capa de datos no tiene ninguna dirección con la capa de presentación, pero hay una capa intermedia llamada capa de negocio que es principalmente responsable de pasar los datos de la capa de datos a la capa de presentación y añadir la lógica de negocio definida a los datos.

La figura anterior es una mezcla de arquitectura de tres niveles y de tres capas. Aquí, podemos ver claramente una diferencia entre Tier y Layer. Como cada componente es independiente de los demás, son fácilmente mantenibles sin cambiar todo el código.

Este enfoque es realmente muy importante cuando varios desarrolladores están trabajando en el mismo proyecto y algún módulo necesita ser reutilizado en otro proyecto. De este modo, podemos distribuir el trabajo entre los desarrolladores y también mantenerlo en el futuro sin muchos problemas.

Las pruebas también son un tema muy importante para la Arquitectura cuando nos planteamos escribir un caso de prueba para el proyecto. Al tratarse de una arquitectura modular, es muy práctico probar cada módulo y localizar los errores sin tener que recorrer todo el código.

Ventajas de la arquitectura de tres niveles

Las capas indican la separación lógica de los componentes. La arquitectura de capas se concentra en agrupar la funcionalidad relacionada dentro de una aplicación en capas distintas que se apilan verticalmente una encima de otra. Cada capa tiene espacios de nombres y clases únicos.

En la arquitectura de tres capas, la capa de presentación no se comunica directamente con la capa de acceso a los datos. La capa de Lógica de Negocio funciona como un puente entre la capa de Presentación y la capa de Acceso a Datos. La arquitectura de tres capas funciona como sigue:

La capa de Objetos de Negocio incluye los objetos que se utilizan en la aplicación y las funciones de ayuda comunes (sin lógica) que se utilizan para todas las capas. En una arquitectura de tres capas, esta capa es opcional. Sin embargo, como seguimos la POO con C#, debemos reducir los códigos duplicados tanto como sea posible. Por lo tanto, el uso de una capa para mantener los códigos comunes en lugar de mantenerlos en cada capa es esencial.

Para seguir fácilmente el artículo, puedes descargar la demo del ejemplo de arquitectura de tres capas. Está construida en base al patrón Repository + UnitOfWork, que es un patrón bien diseñado en C#. Aquí está la demo y los ejemplos prácticos del patrón Repository + UnitOfWork.

Ir arriba