From c96ebcb197b192f65d4c96a3ad493b4c318acb4c Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sat, 1 Apr 2017 19:26:41 +0100 Subject: [PATCH] #467 data-bus: App: add description of the pattern --- data-bus/src/main/java/com/iluwatar/databus/App.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/data-bus/src/main/java/com/iluwatar/databus/App.java b/data-bus/src/main/java/com/iluwatar/databus/App.java index aa67ff420..42746db98 100644 --- a/data-bus/src/main/java/com/iluwatar/databus/App.java +++ b/data-bus/src/main/java/com/iluwatar/databus/App.java @@ -35,6 +35,17 @@ import java.time.LocalDateTime; * The Data Bus pattern *

*

{@see http://wiki.c2.com/?DataBusPattern}

+ *

+ *

The Data-Bus pattern provides a method where different parts of an application may + * pass messages between each other without needing to be aware of the other's existence.

+ *

Similar to the {@code ObserverPattern}, members register themselves with the {@link DataBus} + * and may then receive each piece of data that is published to the Data-Bus. The member + * may react to any given message or not.

+ *

It allows for Many-to-Many distribution of data, as there may be any number of + * publishers to a Data-Bus, and any number of members receiving the data. All members + * will receive the same data, the order each receives a given piece of data, is an + * implementation detail.

+ *

Members may unsubscribe from the Data-Bus to stop receiving data.

* * @author Paul Campbell (pcampbell@kemitix.net) */