mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-08-16 22:23:33 +00:00
docs: updates to several patterns
This commit is contained in:
@@ -55,29 +55,14 @@ public class DataBus {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register a member with the data-bus to start receiving events.
|
||||
*
|
||||
* @param member The member to register
|
||||
*/
|
||||
public void subscribe(final Member member) {
|
||||
this.listeners.add(member);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deregister a member to stop receiving events.
|
||||
*
|
||||
* @param member The member to deregister
|
||||
*/
|
||||
public void unsubscribe(final Member member) {
|
||||
this.listeners.remove(member);
|
||||
}
|
||||
|
||||
/**
|
||||
* Publish an event to all members.
|
||||
*
|
||||
* @param event The event
|
||||
*/
|
||||
public void publish(final DataType event) {
|
||||
event.setDataBus(this);
|
||||
|
||||
@@ -163,10 +148,6 @@ When the data bus publishes a message, the output is as follows:
|
||||
|
||||
As shown, `MessageCollectorMembers` only accept messages of type `MessageData`, so they do not see the `StartingData` or `StoppingData` messages, which are only visible to `StatusMember` (the event administrators or organizers). This selective message handling prevents ordinary community members from receiving administrative notifications.
|
||||
|
||||
## Class diagram
|
||||
|
||||

|
||||
|
||||
## Applicability
|
||||
|
||||
* When multiple components need to share data or events but direct coupling is undesirable.
|
||||
|
||||
Reference in New Issue
Block a user