Object / Object mapping
Fairly often, we need to do some sort of a transformation between one object to another. It is usually across layers, such as when we want to turn an entity to a DTO (for sending on the wire of for UI purposes).
Here is the overall pattern to solve such a task. I did try to make it into a framework, but even I can't make it more complex than this.
public class OrderToOrderDTO { public delegate void Transformer(Order o, OrderDTO d); List<Transformer> transforms = new List<Transformer>() { (y, z) => z.ID = y.Id, (x,z) => z.CustomerName = x.Name }; public OrderDTO Transform(Order k) { OrderDTO t = new OrderDTO(); transforms.ForEach((item) => item(k, t)); return t; } }

Comments
Comment preview