diff --git a/System Development/PatternStrategy/.classpath b/System Development/PatternStrategy/.classpath new file mode 100644 index 0000000..fb50116 --- /dev/null +++ b/System Development/PatternStrategy/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/System Development/PatternStrategy/.project b/System Development/PatternStrategy/.project new file mode 100644 index 0000000..058be17 --- /dev/null +++ b/System Development/PatternStrategy/.project @@ -0,0 +1,17 @@ + + + PatternStrategy + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/System Development/PatternStrategy/src/DoAdd.java b/System Development/PatternStrategy/src/DoAdd.java new file mode 100644 index 0000000..f45519b --- /dev/null +++ b/System Development/PatternStrategy/src/DoAdd.java @@ -0,0 +1,6 @@ +public class DoAdd implements Strategy{ + @Override + public int doOperation(int num1, int num2) { + return num1 + num2; + } +} \ No newline at end of file diff --git a/System Development/PatternStrategy/src/DoMultiply.java b/System Development/PatternStrategy/src/DoMultiply.java new file mode 100644 index 0000000..53b0cdd --- /dev/null +++ b/System Development/PatternStrategy/src/DoMultiply.java @@ -0,0 +1,6 @@ +public class DoMultiply implements Strategy{ + @Override + public int doOperation(int num1, int num2) { + return num1 * num2; + } +} \ No newline at end of file diff --git a/System Development/PatternStrategy/src/DoSubtract.java b/System Development/PatternStrategy/src/DoSubtract.java new file mode 100644 index 0000000..b24afde --- /dev/null +++ b/System Development/PatternStrategy/src/DoSubtract.java @@ -0,0 +1,6 @@ +public class DoSubtract implements Strategy{ + @Override + public int doOperation(int num1, int num2) { + return num1 - num2; + } +} \ No newline at end of file diff --git a/System Development/PatternStrategy/src/PatternStrategy.java b/System Development/PatternStrategy/src/PatternStrategy.java new file mode 100644 index 0000000..aede201 --- /dev/null +++ b/System Development/PatternStrategy/src/PatternStrategy.java @@ -0,0 +1,13 @@ + +public class PatternStrategy { + public static void main(String[] args) { + SelectToDo toDo1 = new SelectToDo(new DoAdd()); + System.out.println("3 + 2 = " + toDo1.executeStrategy(3, 2)); + + SelectToDo toDo2 = new SelectToDo(new DoSubtract()); + System.out.println("3 - 2 = " + toDo2.executeStrategy(3, 2)); + + SelectToDo toDo3 = new SelectToDo(new DoMultiply()); + System.out.println("3 * 2 = " + toDo3.executeStrategy(3, 2)); + } +} diff --git a/System Development/PatternStrategy/src/SelectToDo.java b/System Development/PatternStrategy/src/SelectToDo.java new file mode 100644 index 0000000..c4d2e26 --- /dev/null +++ b/System Development/PatternStrategy/src/SelectToDo.java @@ -0,0 +1,12 @@ + +public class SelectToDo { + private Strategy strategy; + + public SelectToDo(Strategy strategy){ + this.strategy = strategy; + } + + public int executeStrategy(int num1, int num2){ + return strategy.doOperation(num1, num2); + } +} diff --git a/System Development/PatternStrategy/src/Strategy.java b/System Development/PatternStrategy/src/Strategy.java new file mode 100644 index 0000000..73f808c --- /dev/null +++ b/System Development/PatternStrategy/src/Strategy.java @@ -0,0 +1,4 @@ + +public interface Strategy { + public int doOperation(int num1, int num2); +}