Customer Mapper - demonstrates MAPPER pattern
In the first subsystem there exists a Person entity and an address entity.
For some reason in a second subsystem a Customer entity exists including address information.
This mapper is responsible for transparently mapping data between the two without giving one subsystem any knowledge of the other one.
Neither of the subsystems is aware of the mapper.
Session - supplementary class for MAPPER demonstration
According to Martin Fowler the mapper can't be invoked directly by either of the two components it is connected to, because they both don't even know of the
One solution is a third party driving the mapper.