Saltar al contenido principal
Aggregator Microservices

Propósito

El usuario realiza una sola llamada al servicio del agregador y, a continuación, el agregador llama a cada microservicio relevante.

Explicación

Ejemplo del mundo real

Nuestro mercado web necesita información sobre los productos y su inventario actual. Hace una llamada a un agregador
servicio que a su vez llama al microservicio de información del producto y al microservicio de inventario del producto que devuelve la
información combinada.


iluwatarAlrededor de 1 minArchitecturalCloud distributedDecouplingMicroservices
Ambassador

Propósito

Proporcionar una instancia de servicio auxiliar a un cliente y delegar en ella las funcionalidades comunes de un recurso compartido.

Explicación

Ejemplo real

Un servicio remoto tiene muchos clientes accediendo a una función que este servicio proporciona. El servicio es una aplicación heredada y
es imposible actualizarla. Un gran número de solicitudes por parte de los usuarios están causando problemas de conectividad. Nuevas reglas
respecto a la frecuencia de solicitudes deberían implementarse junto con comprobaciones de latencia y registros del lado del cliente.


iluwatarAlrededor de 3 minStructuralDecouplingCloud distributed
API Gateway

Propósito

Agregar llamadas a los microservicios en un mismo lugar, la puerta de enlace API (API Gateway). El usuario
hace una llamada simple a la API Gateway, y la API Gateway hace la llamada a cada microservicio relevante.

Explicación

Con el patrón de microservicios, el cliente puede necesitar datos de múltiples microservicios. Si el
cliente llamara a cada microservicio de forma directe, podría ocasionar tiempos de carga largos, ya que
el cliente tendría que hacer una solicitud de red para cada microservicio llamado. Además, tener
la llamada del cliente a cada microservicio vincula directamente al cliente con ese microservicio - si la
implementacion interna del cambio de microservicios (por ejemplo, si dos microservicios se combinan en
algún momento en el futuro) o si la ubicación (host y puerto) de un microservicio cambia, entonces cada
cliente que hace uso de esos microservicios debe ser actualizado.


iluwatarAlrededor de 3 minArchitecturalCloud distributedDecouplingMicroservices
Balking

Propósito

El patrón Balking se utiliza para prevenir que un objeto ejecute un código determinado si
este se encuentra en un estado incompleto o inapropiado.

Explicación

Ejemplo del mundo real

En una lavadora hay un botón de arranque para iniciar el lavado de ropa. Cuando la lavadora
está inactiva el botón funciona como se espera, pero si ya está lavando entonces el botón no hace
nada.


iluwatarAlrededor de 2 minConcurrencyDecoupling
Business Delegate

Propósito

El patrón Business Delegate añade una capa de abstracción entre los niveles de presentación y de negocio. Al utilizar
este patrón, conseguimos un acoplamiento flexible entre los niveles y encapsulamos el conocimiento sobre cómo localizar,
conectar e interactuar con los objetos de negocio que componen la aplicación.


iluwatarAlrededor de 3 minStructuralDecoupling
Chain of responsibility

También conocido como

  • Chain of Command
  • Chain of Objects
  • Responsibility Chain

Propósito

Evita acoplar el emisor de una petición a su receptor dando a más de un objeto la oportunidad de gestionar la petición. Encadena los objetos receptores y pasa la solicitud a lo largo de la cadena hasta que un objeto la gestione.


iluwatarAlrededor de 3 minBehavioralGang of FourDecoupling
Converter

Propósito

El propósito del patrón Conversor (Converter) es proporcionar una forma genérica y común de conversión bidireccional
entre tipos correspondientes, permitiendo una implementación limpia en la que los tipos no
tienen que conocerse entre sí. Además, el patrón Converter introduce la asignación bidireccional de colecciones
bidireccional, reduciendo al mínimo el código repetitivo.


iluwatarAlrededor de 1 minCreationalDecoupling
Delegation

También conocido como

Proxy Pattern

Propósito

Es una técnica en la que un objeto expresa cierto comportamiento al exterior pero en realidad delega la responsabilidad
de implementar ese comportamiento en un objeto asociado.

Explanation

Real-world example


iluwatarAlrededor de 1 minStructuralDecoupling
Dependency Injection

Propósito

La inyección de dependencias es un patrón de diseño de software en el que una o más dependencias (o servicios)
se inyectan, o se pasan por referencia, a un objeto dependiente (o cliente) y pasan a formar parte del estado del
cliente. El patrón separa la creación de las dependencias de un cliente de su propio comportamiento,
lo que permite que los diseños de los programas estén poco acoplados y sigan los principios de inversión de control y
responsabilidad única.


iluwatarAlrededor de 1 minCreationalDecoupling
Facade

Propósito

Proporcionar una interfaz unificada a un conjunto de interfaces de un subsistema. La fachada define una interfaz que
facilita el uso del subsistema.

Explicación

Un ejemplo real

¿Cómo funciona una mina de oro? "¡Bueno, los mineros bajan y sacan oro!" dices. Eso es lo que crees porque estás
usando una interfaz simple que la mina de oro proporciona en el exterior, internamente tiene que hacer un montón de
cosas para que suceda. Esta interfaz simple al subsistema complejo es una fachada.


iluwatarAlrededor de 3 minStructuralGang Of FourDecoupling