Saltar al contenido

¿Cuál es la diferencia entre DAL, DTO y DAO en un estilo de arquitectura de 3 niveles que incluye MVC?

Solución:

Comencemos con el propósito de cada uno: –

DTO

Objetos de transferencia de datos. Estos se utilizan generalmente para transferir datos del controlador al cliente (JS). El término también se usa para POCO / POJO por pocos que realmente contienen los datos recuperados de la base de datos.

DAO

El objeto de acceso a datos es uno de los patrones de diseño utilizados para implementar DAL. Esto crea y ejecuta consultas en la base de datos y mapea el resultado a POCO / POJO usando varios otros patrones, incluidos ‘Objeto de consulta’, ‘Asignador de datos’, etc. La capa DAO podría ampliarse aún más utilizando el patrón ‘Repositorio’.

DAL

La capa de acceso a datos abstrae las actividades de su base de datos usando DAO / Repository / POCO, etc. Los ORM le ayudan a construir su DAL, pero podría implementarse sin usarlos también.

MVC

Model View Control es un patrón que se utiliza para separar la vista (presentación) de la lógica empresarial. Para MVC, no importa si DAL está implementado o no. Si no se implementa DAL, la lógica de la base de datos simplemente ingrese en su modelo, lo cual no es un buen enfoque.

En aplicaciones más grandes, MVC es el nivel de presentación solo de una arquitectura de N niveles.

Los modelos consumen la mayor parte de su lógica empresarial como se indicó anteriormente. En la aplicación de N niveles, si la lógica empresarial está completamente separada con el propósito de volver a usarla entre aplicaciones / plataformas, los modelos en MVC se denominan modelos anémicos. Si no es necesario reutilizar BI a esa escala en su aplicación, puede usar Model para mantenerlo. Sin confusión, ¿verdad?

Me alegraría que alguien me dijera la verdad sobre cómo funcionan juntos.

Todos los patrones MV * definen solo la idea / concepto; no definen la implementación. Los patrones MV * se centran principalmente en separar la vista de BI. Solo concéntrate en esto.

Consulte esta respuesta para obtener detalles sobre los diferentes objetos que contienen datos.

Es posible que desee distinguir primero entre el patrón MVC y la arquitectura de 3 niveles. Para resumir:

Arquitectura de 3 niveles:

  • datos: datos persistentes;
  • servicio: parte lógica de la aplicación;
  • presentación: hmi, webservice …

Ahora, para la arquitectura de 3 niveles anterior, el patrón MVC tiene lugar en el nivel de presentación de la misma (para una aplicación web):

  • datos: …;
  • Servicio: …;
  • presentación:
    • controlador: intercepta la solicitud HTTP y devuelve la respuesta HTTP;
    • modelo: almacena los datos que se mostrarán / tratarán;
    • vista: organiza la salida / visualización.

Ciclo de vida de una solicitud HTTP típica:

  1. El usuario envía la solicitud HTTP;
  2. El controlador lo intercepta;
  3. El controlador llama al servicio apropiado;
  4. El servicio llama al dao apropiado, que devuelve algunos datos persistentes (por ejemplo);
  5. El servicio trata los datos y los devuelve al responsable del tratamiento;
  6. El controlador almacena los datos en el modelo apropiado y llama a la vista adecuada;
  7. La vista se crea una instancia con los datos del modelo y se devuelve como la respuesta HTTP.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *