Improved comments for mediator example.
This commit is contained in:
parent
22ca6fef60
commit
742f8376b3
@ -1,5 +1,10 @@
|
||||
package com.iluwatar;
|
||||
|
||||
/**
|
||||
*
|
||||
* Action enumeration.
|
||||
*
|
||||
*/
|
||||
public enum Action {
|
||||
|
||||
HUNT, TALE, GOLD, ENEMY;
|
||||
|
@ -2,24 +2,29 @@ package com.iluwatar;
|
||||
|
||||
/**
|
||||
*
|
||||
* Mediator encapsulates how set of objects (PartyMember) interact. Instead of
|
||||
* referring to each other directly they use the mediator (Party) interface.
|
||||
* Mediator encapsulates how a set of objects (PartyMember) interact. Instead of
|
||||
* referring to each other directly they use a mediator (Party) interface.
|
||||
*
|
||||
*/
|
||||
public class App {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
// create party and members
|
||||
Party party = new PartyImpl();
|
||||
Hobbit hobbit = new Hobbit();
|
||||
Wizard wizard = new Wizard();
|
||||
Rogue rogue = new Rogue();
|
||||
Hunter hunter = new Hunter();
|
||||
|
||||
// add party members
|
||||
party.addMember(hobbit);
|
||||
party.addMember(wizard);
|
||||
party.addMember(rogue);
|
||||
party.addMember(hunter);
|
||||
|
||||
// perform actions -> the other party members
|
||||
// are notified by the party
|
||||
hobbit.act(Action.ENEMY);
|
||||
wizard.act(Action.TALE);
|
||||
rogue.act(Action.GOLD);
|
||||
|
@ -1,5 +1,10 @@
|
||||
package com.iluwatar;
|
||||
|
||||
/**
|
||||
*
|
||||
* Hobbit party member.
|
||||
*
|
||||
*/
|
||||
public class Hobbit extends PartyMemberBase {
|
||||
|
||||
@Override
|
||||
|
@ -1,5 +1,10 @@
|
||||
package com.iluwatar;
|
||||
|
||||
/**
|
||||
*
|
||||
* Hunter party member.
|
||||
*
|
||||
*/
|
||||
public class Hunter extends PartyMemberBase {
|
||||
|
||||
@Override
|
||||
|
@ -2,7 +2,7 @@ package com.iluwatar;
|
||||
|
||||
/**
|
||||
*
|
||||
* Mediator interface.
|
||||
* Party interface.
|
||||
*
|
||||
*/
|
||||
public interface Party {
|
||||
|
@ -3,6 +3,11 @@ package com.iluwatar;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Party implementation.
|
||||
*
|
||||
*/
|
||||
public class PartyImpl implements Party {
|
||||
|
||||
private List<PartyMember> members;
|
||||
@ -25,13 +30,4 @@ public class PartyImpl implements Party {
|
||||
members.add(member);
|
||||
member.joinedParty(this);
|
||||
}
|
||||
|
||||
// somebody hunts for food, call for dinner
|
||||
|
||||
// somebody spots enemy, alert everybody
|
||||
|
||||
// somebody finds gold, deal the gold with everybody
|
||||
|
||||
// somebody tells a tale, call everybody to listen
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,10 @@
|
||||
package com.iluwatar;
|
||||
|
||||
/**
|
||||
*
|
||||
* Abstract base class for party members.
|
||||
*
|
||||
*/
|
||||
public abstract class PartyMemberBase implements PartyMember {
|
||||
|
||||
protected Party party;
|
||||
|
@ -1,5 +1,10 @@
|
||||
package com.iluwatar;
|
||||
|
||||
/**
|
||||
*
|
||||
* Rogue party member.
|
||||
*
|
||||
*/
|
||||
public class Rogue extends PartyMemberBase {
|
||||
|
||||
@Override
|
||||
|
@ -1,5 +1,10 @@
|
||||
package com.iluwatar;
|
||||
|
||||
/**
|
||||
*
|
||||
* Wizard party member.
|
||||
*
|
||||
*/
|
||||
public class Wizard extends PartyMemberBase {
|
||||
|
||||
@Override
|
||||
|
Loading…
x
Reference in New Issue
Block a user