Saturday, January 30, 2016

Strategy Pattern

import java.util.*;
import java.lang.*;
import java.io.*;

interface Strategy
{
public int doOperation(int a , int b);
}

class AddOperation implements Strategy
{
public int doOperation(int a , int b) {
return a + b;
}
}

class SubtractOperation implements Strategy
{
public int doOperation (int a , int b) {
return a - b;
}
}

class Context {
Strategy strategy;

Context (Strategy strategy) {
this.strategy = strategy;
}

int doOperation (int a, int b){
return strategy.doOperation(a, b);
}
}

class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
int a = 5;
int b = 4;
Context c = new Context(new AddOperation());

System.out.println(c.doOperation(a, b));

c = new Context (new SubtractOperation());

System.out.println(c.doOperation (a, b));
}
}

No comments: