# What is Mediator Design Pattern The Mediator design pattern enables the centralised communication between related objects (Colleagues). All communication is handled by a Mediator Object and the Colleagues don't need to know anything about each other to work together. ## Diagram ![Diagram](https://github.com/premaseem/DesignPatternsJava9/blob/mediator-pattern/diagrams/Mediator%20Design%20Pattern%20communication%20diagram.png "Diagram") ![Diagram](https://github.com/premaseem/DesignPatternsJava9/blob/mediator-pattern/diagrams/Mediator-Design-Pattern-general.png "Diagram") ![Diagram](https://github.com/premaseem/DesignPatternsJava9/blob/mediator-pattern/diagrams/Mediator%20pattern%20sequence%20diagram.png "Diagram") ![Diagram](https://github.com/premaseem/DesignPatternsJava9/blob/mediator-pattern/diagrams/aircraft.jpg "Diagram") # When to use Mediator Design Pattern * when the communication logic between objects is complex, we can have a central point of communication using Mediator object. * JMS- Java Message Service uses mediator pattern underneath. ### Learn Design Patterns with Java by Aseem Jain This repository contains working project code used in video Course by Packt Publication with title "Learn Design Patterns with Java " authored by "Aseem Jain". ### Course link: https://www.packtpub.com/application-development/learn-design-patterns-java-9-video ### ![ http://in.linkedin.com/in/premaseem](https://github.com/premaseem/DesignPatternsJava9/blob/master/linkedin.png "http://in.linkedin.com/in/premaseem") Profile: http://in.linkedin.com/in/premaseem ### Authors blog on design patterns: https://premaseem.wordpress.com/category/computers/design-patterns/ ### Software Design pattern community face book page: https://www.facebook.com/DesignPatternGuru/ ### Note: * This code base will work on Java 9 and above versions. * `diagrams` folders carry UML diagrams. * `pattern` folder has code of primary example. * `patternBonus` folder has code of secondary or bonus example.