Posted by : Aron четвъртък, 21 февруари 2013 г.

Mediator pattern



From Wikipedia, the free encyclopedia





The mediator pattern defines an object that encapsulates how a set of objects interact. This pattern is considered to be a behavioral pattern due to the way it can alter the program's running behavior.

Usually a program is made up of a large number of classes. So the logic and computation is distributed among these classes. However, as more classes are developed in a program, especially during maintenance and/or refactoring, the problem of communication between these classes may become more complex. This makes the program harder to read and maintain. Furthermore, it can become difficult to change the program, since any change may affect code in several other classes.

With the mediator pattern, communication between objects is encapsulated with a mediator object. Objects no longer communicate directly with each other, but instead communicate through the mediator. This reduces the dependencies between communicating objects, thereby lowering the coupling.








Contents


[hide]


  • 1 Definition

  • 2 Participants

  • 3 Example

  • 4 See also

  • 5 References

  • 6 External links



[edit]Definition


The essence of the Mediator Pattern is to "Define an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently.[1]

[edit]Participants


Mediator - defines the interface for communication between Colleague objects

ConcreteMediator - implements the Mediator interface and coordinates communication between Colleague objects. It is aware of all the Colleagues and their purpose with regards to inter communication.

ConcreteColleague - communicates with other Colleagues through its Mediator

[edit]Example


In the following example a mediator object controls the status of three collaborating buttons: for this it contains three methods (book(),view() and search()) that set the status of the buttons. The methods are called by each button upon activation (via the execute() method in each of them).

Hence here the collaboration pattern is that each participant (here the buttons) communicates to the mediator its activity and the mediator dispatches the expected behavior to the other participants.


import java.awt.Font;





sOURCE

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © How to make this - Skyblue - Powered by Blogger - Designed by Johanes Djogan -