feat: add CalcFunctionFactory for calculator operations (#13)
CI / build-and-test (pull_request) Successful in 16s
CI / build-and-test (pull_request) Successful in 16s
Callers pick an operation via the CalcOperation enum instead of instantiating implementation classes directly. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,25 +1,16 @@
|
||||
package com.example;
|
||||
|
||||
import com.example.util.AddFunction;
|
||||
import com.example.util.CalcFunction;
|
||||
import com.example.util.DivideFunction;
|
||||
import com.example.util.MultiplyFunction;
|
||||
import com.example.util.PowerFunction;
|
||||
import com.example.util.SubtractFunction;
|
||||
import com.example.util.CalcFunctionFactory;
|
||||
import com.example.util.CalcOperation;
|
||||
|
||||
public class LoopTestApplication {
|
||||
|
||||
static void main() {
|
||||
System.out.println("============== Calculator =============");
|
||||
CalcFunction add = new AddFunction();
|
||||
System.out.println("ADDITION: " + add.calc(2, 5, 6));
|
||||
CalcFunction subtract = new SubtractFunction();
|
||||
System.out.println("SUBTRACTION: " + subtract.calc(2, 5, 6));
|
||||
CalcFunction multiply = new MultiplyFunction();
|
||||
System.out.println("MULTIPLICATION: " + multiply.calc(2, 5, 6));
|
||||
CalcFunction divide = new DivideFunction();
|
||||
System.out.println("DIVISION: " + divide.calc(2, 5, 6));
|
||||
CalcFunction power = new PowerFunction();
|
||||
System.out.println("POWER: " + power.calc(2, 5, 6));
|
||||
for (CalcOperation operation : CalcOperation.values()) {
|
||||
CalcFunction function = CalcFunctionFactory.create(operation);
|
||||
System.out.println(operation + ": " + function.calc(2, 5, 6));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user