基于简单工厂设计模式,编写计算器程序,实现界面逻辑与业务逻辑相分离,并且客户端对象实例化由简单工厂完成。用Java编写
时间: 2024-11-27 10:24:24 浏览: 3
基于简单工厂设计模式的计算器程序示例,我们首先创建一个简单的工厂,它负责创建不同类型的计算器对象。然后,我们将每个计算器实现为一个独立的类,比如基础计算器、科学计算器和图形计算器等。最后,我们将所有的计算逻辑封装在各自的计算器类里。
```java
// 简单工厂接口
public interface CalculatorFactory {
Calculator createCalculator();
}
// 基础计算器实现
public class BasicCalculator implements Calculator {
// 计算逻辑...
public double add(double a, double b) { ... }
// 其他基本运算...
}
// 科学计算器实现
public class ScientificCalculator extends BasicCalculator {
// 添加额外的功能如三角函数...
public double sin(double angle) { ... }
}
// 图形计算器实现
public class GraphicCalculator extends BasicCalculator {
// 包含绘制和计算几何图形的功能...
public void drawCircle(double radius) { ... }
}
// 简单工厂实现
public class SimpleCalculatorFactory implements CalculatorFactory {
@Override
public Calculator createCalculator() {
return new BasicCalculator(); // 默认创建基础计算器
}
public static void main(String[] args) {
CalculatorFactory factory = new SimpleCalculatorFactory();
Calculator calculator = factory.createCalculator();
// 使用工厂生产的计算器
double result = calculator.add(5, 3);
System.out.println("Result: " + result);
// 可以通过工厂动态切换计算器类型
factory = new ScientificCalculatorFactory();
calculator = factory.createCalculator();
result = calculator.sin(Math.PI / 4); // 调用科学计算器特有的方法
}
}
// Calculator接口
public interface Calculator {
double add(double a, double b);
}
```
在这个例子中,客户端无需关心具体的实现细节,只需要通过`SimpleCalculatorFactory`获取并使用计算器即可。这实现了界面逻辑(如何使用计算器)与业务逻辑(如何计算)的分离。
阅读全文