public interface Calculator {
double add(double a, double b);
double subtract(double a, double b);
double multiply(double a, double b);
double divide(double a, double b);
}
public class BasicCalculator implements Calculator {
public double add(double a, double b) {
return a + b;
}
public double subtract(double a, double b) {
return a - b;
}
public double multiply(double a, double b) {
return a * b;
}
public double divide(double a, double b) {
if (b == 0) {
throw new IllegalArgumentException("Divisor cannot be zero");
}
return a / b;
}
}
<vlad>
<component>
<class>com.example.BasicCalculator</class>
</component>
</vlad>
public class MyApp {
public static void main(String[] args) {
VladContext context = VladContext.getInstance();
Calculator calculator = (Calculator) context.getComponent("com.example.BasicCalculator");
double result = calculator.add(2, 3);
System.out.println("Result: " + result);
}
}