http://jfod.cnam.fr/progAvancee/femto_c ... _bluej.jar
Ci dessous un exemple possible avec la classe Nombre, déjà vue, une commande concrète :
L'opération, la condition sont injectées, le couplage faible est de fait
Code : Tout sélectionner
public class CommandNombre implements Command<Nombre>{
private Condition<Nombre> condition;
private Operation<Nombre> operation;
public void setOperation(Operation<Nombre> operation){
this.operation = operation;
}
public void setCondition(Condition<Nombre> condition){
this.condition = condition;
}
public Nombre execute(Nombre nombre){
assert condition!=null && operation!=null;
if(condition.estSatisfaite(nombre)){
return operation.execute(nombre);
}
return nombre;
}
}