The Mediator design pattern defines an object which encapsulates how a set of objects interact with each other.
You can think of a Mediator object as a kind of traffic-coordinator; it directs traffic to appropriate parties based on its own state or outside values. Further, Mediator promotes loose coupling (a good thing!) by keeping objects from referring to each other explicitly.
#programming-c #csharp