The factory that took a DTO and returned another DTO

A class named OrderFactory whose only method mapped one flat structure onto another flat structure with different field names.

// what it was called
final class OrderFactory
{
    public function create(CreateOrderRequest $r): OrderData { /* ... */ }
}

// what it is
final class OrderRequestMapper
{
    public function toOrderData(CreateOrderRequest $r): OrderData { /* ... */ }
}

The name mattered more than it should have: three people had looked for the place orders are created and found this, which constructs nothing. A factory produces a domain object and enforces its invariants; a mapper moves fields between shapes and enforces nothing. Naming the mapper as a mapper made the absence of an actual factory visible, and the invariants turned out to be spread across two controllers.