الخطوة الأولى :
إنشاء الواجهة
public interface Strategy {
public int doOperation(int num1, int num2);
}
الخطوة الثانية:
إنشاء كلاس يحقق الواجهة Strategy
public class OperationAdd implements Strategy{
@Override
public int doOperation(int num1, int num2) {
return num1 + num2;
}
}
public class OperationSubstract implements Strategy{
@Override
public int doOperation(int num1, int num2) {
return num1 - num2;
}
}
public class OperationMultiply implements Strategy{
@Override
public int doOperation(int num1, int num2) {
return num1 * num2;
}
}
الخطوة الثالثة إنشاء كلاس نستدعي ضمنه الواجهةStrategy:
الخطوة الرابعة:
إنشاء الصف الذي يغيير سلوك strategy:
public class StrategyPatternDemo {
public static void main(String[] args) {
Context context = new Context(new OperationAdd());
System.out.println("10 + 5 = " + context.executeStrategy(10, 5));
context = new Context(new OperationSubstract());
System.out.println("10 - 5 = " + context.executeStrategy(10, 5));
context = new Context(new OperationMultiply());
System.out.println("10 * 5 = " + context.executeStrategy(10, 5));
}
}