From fc66ae80849fd8938267f50618bf82544efc7208 Mon Sep 17 00:00:00 2001 From: Ilkka Seppala Date: Sat, 3 Oct 2015 23:34:20 +0300 Subject: [PATCH] Improve Mediator Javadoc --- .../main/java/com/iluwatar/mediator/App.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/mediator/src/main/java/com/iluwatar/mediator/App.java b/mediator/src/main/java/com/iluwatar/mediator/App.java index a7df7d39f..9648ac608 100644 --- a/mediator/src/main/java/com/iluwatar/mediator/App.java +++ b/mediator/src/main/java/com/iluwatar/mediator/App.java @@ -2,8 +2,26 @@ package com.iluwatar.mediator; /** * - * Mediator encapsulates how a set of objects ({@link PartyMember}) interact. Instead of - * referring to each other directly they use a mediator ({@link Party}) interface. + * 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. + *

+ * In this example the mediator encapsulates how a set of objects ({@link PartyMember}) + * interact. Instead of referring to each other directly they use the mediator + * ({@link Party}) interface. * */ public class App {