Cycle de progression Faire (quelque chose qui marche) -> comprendre ce que l’on fait/comment cela marche -> pousser plus loin les notions
| public abstract class Strategy { //autres membres public abstract void Method1(); } |
| public class ConcreteStrategyA : Strategy { public override void Method1() { } } |
| public class Context { Strategy strategy; public Context(Strategy strategy) { this.strategy = strategy; } public void CallMethod1() { strategy.Method1(); } } |
| // en définissant directement la strategie utilisée Strategy strategy = new ConcreteStrategyA(); Strategy strategy = new ConcreteStrategyB(); // ou en passant par le context Context context = new Context(new ConcreteStrategyA()); context.CallMethod1(); Context context = new Context(new ConcreteStrategyB()); context.CallMethod1(); |