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());
}
}