Using Factory classes. Some cleaning.
This commit is contained in:
7
src/Observateur/ObservateurAbstrait.java
Normal file
7
src/Observateur/ObservateurAbstrait.java
Normal file
@@ -0,0 +1,7 @@
|
||||
package Observateur;
|
||||
|
||||
import Person.eMode;
|
||||
|
||||
public interface ObservateurAbstrait {
|
||||
public void update(eMode comportement);
|
||||
}
|
||||
31
src/Observateur/Organisation.java
Normal file
31
src/Observateur/Organisation.java
Normal file
@@ -0,0 +1,31 @@
|
||||
package Observateur;
|
||||
|
||||
|
||||
import Person.eMode;
|
||||
|
||||
public class Organisation extends SujetObserveAbstrait {
|
||||
protected eMode modeFonctionnement;
|
||||
protected Organisation parent;
|
||||
|
||||
public Organisation() {
|
||||
this.modeFonctionnement = eMode.ND;
|
||||
this.parent = null;
|
||||
}
|
||||
|
||||
public Organisation(Organisation parent) {
|
||||
this.modeFonctionnement = eMode.ND;
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
public void setModeFonctionnement(eMode modeFonctionnement) {
|
||||
this.modeFonctionnement = modeFonctionnement;
|
||||
this.update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
for (ObservateurAbstrait o : liste) {
|
||||
o.update(modeFonctionnement);
|
||||
}
|
||||
}
|
||||
}
|
||||
23
src/Observateur/SujetObserveAbstrait.java
Normal file
23
src/Observateur/SujetObserveAbstrait.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package Observateur;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public abstract class SujetObserveAbstrait {
|
||||
|
||||
ArrayList<ObservateurAbstrait> liste;
|
||||
|
||||
protected SujetObserveAbstrait() {
|
||||
liste = new ArrayList<ObservateurAbstrait>();
|
||||
}
|
||||
|
||||
public void attach(ObservateurAbstrait observateurAbstrait) {
|
||||
liste.add(observateurAbstrait);
|
||||
}
|
||||
|
||||
|
||||
public void remove(ObservateurAbstrait observateurAbstrait) {
|
||||
liste.remove(observateurAbstrait);
|
||||
}
|
||||
|
||||
public abstract void update();
|
||||
}
|
||||
Reference in New Issue
Block a user