Patrones de Diseño en Java: RMI, DTO, DAO y Más

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,51 KB

Este documento explora diversos patrones de diseño utilizados en el desarrollo de aplicaciones Java, proporcionando una descripción concisa de cada uno.

Remote Method Invocation (RMI)

RMI (Remote Method Invocation) es un mecanismo que permite la invocación remota de métodos sobre objetos Java distribuidos. Actúa como un objeto distribuido en el middleware.

Ventajas de RMI

  • Simple y transparente.
  • Nativo de Java.

Inconvenientes de RMI

  • Limitado a aplicaciones Java.

Funcionamiento de RMI

El cliente utiliza un stub (objeto local que representa un objeto remoto en el servidor). El cliente invoca el método sobre el stub, que realiza el marshalling (transformación de la invocación en un formato para la transmisión al servidor). El gestor de referencias remotas interpreta la invocación y la dirige a la máquina y puerto indicados. En el servidor, la referencia se analiza y se introduce en el esqueleto (extensión del objeto del servidor). El esqueleto lleva a cabo el proceso de unmarshalling y dirige la invocación al objeto del servidor.

Data Transfer Object (DTO)

DTO (Data Transfer Object) es un contenedor de datos que se transfieren entre procesos o a través de una red.

Características de DTO

  • Sin lógica de negocio.
  • Reutilizable en distintos contextos.
  • Incluye getters y setters.

Assembler

El Assembler crea DTOs a partir de objetos y viceversa.

Ventajas de DTO

  • Fuerza a pensar en la interfaz de la aplicación.

Inconvenientes de DTO

  • Puede causar duplicación de código.

Gateway

El Gateway es un objeto que encapsula el acceso a un sistema externo o recurso. Envuelve el código específico de la API en una clase cuya interfaz se asemeja a un objeto regular.

Data Access Object (DAO)

El DAO (Data Access Object) resume y encapsula todos los accesos a la fuente de datos, ocultando los detalles de implementación. Expone una interfaz para los clientes y se adapta a diferentes regímenes de almacenamiento.

Controller

El Controller actúa como una fachada en la capa de dominio de la interfaz.

Facade Controller

Es un objeto de la capa de dominio que representa el sistema como un todo.

Use Case Controller

Es una fachada con nombre que coordina la interacción entre el sistema y los usuarios para llevar a cabo procesos específicos.

Service Locator

El Service Locator reduce la complejidad del cliente al disminuir la dependencia del cliente y la necesidad de llevar a cabo procesos de búsqueda y creación de recursos.

Strategy

El patrón Strategy define una familia de algoritmos, los encapsula y los hace intercambiables. Permite que el algoritmo varíe independientemente de los clientes que lo utilizan.

Visitor

El patrón Visitor separa la estructura de un objeto de las operaciones que actúan sobre esa estructura. Permite definir nuevas operaciones sin modificar el objeto original.

Java Data Objects (JDO)

JDO (Java Data Objects) es una especificación estándar para la persistencia de objetos Java en cualquier datastore. Define un conjunto de interfaces para serializar objetos.

Entradas relacionadas: