From f21dfa2e27386e50f240e10e80af3d28e8dde976 Mon Sep 17 00:00:00 2001 From: Karsten Jeppesen Date: Sun, 8 May 2022 00:10:38 +0200 Subject: [PATCH] PatternStrategy: Initial commit --- System Development/PatternStrategy/.classpath | 6 ++++++ System Development/PatternStrategy/.project | 17 +++++++++++++++++ .../PatternStrategy/src/DoAdd.java | 6 ++++++ .../PatternStrategy/src/DoMultiply.java | 6 ++++++ .../PatternStrategy/src/DoSubtract.java | 6 ++++++ .../PatternStrategy/src/PatternStrategy.java | 13 +++++++++++++ .../PatternStrategy/src/SelectToDo.java | 12 ++++++++++++ .../PatternStrategy/src/Strategy.java | 4 ++++ 8 files changed, 70 insertions(+) create mode 100644 System Development/PatternStrategy/.classpath create mode 100644 System Development/PatternStrategy/.project create mode 100644 System Development/PatternStrategy/src/DoAdd.java create mode 100644 System Development/PatternStrategy/src/DoMultiply.java create mode 100644 System Development/PatternStrategy/src/DoSubtract.java create mode 100644 System Development/PatternStrategy/src/PatternStrategy.java create mode 100644 System Development/PatternStrategy/src/SelectToDo.java create mode 100644 System Development/PatternStrategy/src/Strategy.java 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); +}