根据传入的不同type的值调用不同的方法用什么设计模式写一个实际业务出来
可以使用策略模式来设计这个功能。策略模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。根据不同的情况选择不同的策略,可以提高代码的可扩展性和可维护性。
例如,我们可以设计一个计算器程序,根据用户输入的不同运算符,调用不同的计算方法。具体实现代码如下:
// 定义计算方法接口
interface CalculateStrategy {
int calculate(int a, int b);
}
// 实现加法计算方法
class AddStrategy implements CalculateStrategy {
public int calculate(int a, int b) {
return a + b;
}
}
// 实现减法计算方法
class SubstractStrategy implements CalculateStrategy {
public int calculate(int a, int b) {
return a - b;
}
}
// 定义计算器类
class Calculator {
private CalculateStrategy strategy;
public void setStrategy(CalculateStrategy strategy) {
this.strategy = strategy;
}
public int calculate(int a, int b) {
return strategy.calculate(a, b);
}
}
// 示例代码
Calculator calculator = new Calculator();
if (type.equals("add")) {
calculator.setStrategy(new AddStrategy());
} else if (type.equals("substract")) {
calculator.setStrategy(new SubstractStrategy());
}
int result = calculator.calculate(10, 5);
System.out.println(result); // 输出 15 或 5,取决于 type 参数的值
在上述代码中,我们定义了一个计算方法接口 CalculateStrategy,并实现了加法和减法两种计算方法。然后定义了一个 Calculator 类,该类包含一个 CalculateStrategy 类型的成员变量 strategy,并提供了设置策略和计算方法的方法。最后,根据传入的 type 参数选择不同的策略,并调用 calculate 方法计算结果。
这样的设计模式可以让我们在需要增加新的计算方法时,只需要实现新的计算方法类,而不需要修改已有的代码。同时,也可以方便地切换不同的计算方法,以适应不同的业务需求。
原文地址: https://www.cveoy.top/t/topic/bsnS 著作权归作者所有。请勿转载和采集!