Using Factory classes. Some cleaning.

This commit is contained in:
aminecmi
2014-12-03 09:13:23 +01:00
parent f7805b0577
commit 5e29314e1b
8 changed files with 24 additions and 14 deletions

View File

@@ -0,0 +1,7 @@
package Observateur;
import Person.eMode;
public interface ObservateurAbstrait {
public void update(eMode comportement);
}

View 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);
}
}
}

View 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();
}