JavaOmnibus
J2EE Transfer Object Assembler
J2EE pattern • Integration
J2EEIntegrationJava example

Transfer Object Assembler solves a specific structural problem in the design.

Build richer transfer objects from multiple domain sources.

Pattern overview

J2EE pattern

Build richer transfer objects from multiple domain sources.

Intent

Assemble a composite transfer object from several entities or services.

Problem

The data needed by a client spans multiple domain objects or repositories.

Solution

Use an assembler to gather and map the required data into one transfer object.

Fit and tradeoffs

FamilyJ2EE
CategoryIntegration
Best used when
  • When API or UI projections combine multiple aggregates or sources.
Tradeoffs
  • Assemblers can become bulky if they take on business rules.

Java example

This example is intentionally compact so the pattern shape stays easy to see.

public final class OrderSummaryAssembler {
    public OrderSummaryDto assemble(Order order, Customer customer) {
        return new OrderSummaryDto(order.id(), customer.name(), order.total(), order.status());
    }
}

Related pages

Keep exploring