Mediator Design Pattern

Mediator Design Pattern

This article describes the Mediator design pattern. This is a behavioral design pattern, a category of design pattern used by software engineers, when writing computer programs.


A Mediator is a design pattern, used in software engineering, to communicate between parts within an application. It provides a unified interface.

It is defined as a behavioral design pattern because messages can cause the program to behave differently, like actions resulting from an event message.


As programs grow in complexity, and more and more classes and relationships are added, it becomes harder to follow the chain of communication around the code. The mediator pattern attempts to centralize and standardize the methods and channels of communication around the application, thus reducing complexity, enhancing readability and maintainability.

The mediator is especially useful in projects are built around the MVVM pattern, because it enables communication between separate and unrelated ViewModels, which may reside in different parts of the application (like separate windows), or from deep within autogenerated controls (like in cells of DataGrid). 



Return to Top

See Also

Link to domain parent articles and related articles in TechNet Wiki.



Return to Top

Community Resources

These are the external links, including links to Microsoft and TechNet sites that are non-Wiki



Return to Top

References section

Use this section if you pulled source material and ideas from other sites, blogs, or forums. Make sure you have permission from authors to use their material.


  • [Please contribute]



Return to Top

Leave a Comment
  • Please add 4 and 1 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
  • XAML guy edited Original. Comment: removed tag

Page 2 of 2 (11 items) 12
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
  • XAML guy edited Original. Comment: removed tag

  • XAML guy edited Revision 1. Comment: added

  • XAML guy edited Revision 2. Comment: tag

  • XAML guy edited Revision 3. Comment: see also

  • XAML guy edited Revision 4. Comment: tweak

  • XAML guy edited Revision 5. Comment: tweak headings

  • XAML guy edited Revision 6. Comment: tweak

  • XAML guy edited Revision 7. Comment: tidied

  • XAML guy edited Revision 8. Comment: tidied sections

  • XAML guy edited Revision 9. Comment: added links

  • Ah, now I get it.

  • XAML guy edited Revision 10. Comment: tweak

Page 1 of 1 (12 items)