Java实现简单的工厂模式
来源:互联网 发布:免流443端口 编辑:程序博客网 时间:2024/05/01 03:06
工厂模式 属于创建型模式
简单工厂模式
类图
通过一个工厂类,以一个条件来创建对应的对象
- //业务功能
- public interface ICalculation {
- double getResult(double numA, double numB);
- }
- public class CalcAdd implements ICalculation {
- @Override
- public double getResult(double numA, double numB) {
- System.out.println("加法");
- return numA + numB;
- }
- }
- public class CalcSubtract implements ICalculation {
- @Override
- public double getResult(double numA, double numB) {
- System.out.println("减法");
- return numA - numB;
- }
- }
- /*
- * 简单工厂模式 关注:对象的创建
- * 建立一个工厂类,对实现了同一接口的或者是存在继承关系的一些类进行实例的创建
- */
- public class Test4Simple {
- public static void main(String[] args) {
- // String operation = "/";
- String operation = "+";
- // String operation = "-";
- // String operation = "*";
- double numA = 182, numB = 33;
- ICalculation createCalc = CalcSimpleFactory.createCalc(operation);
- double result = createCalc.getResult(numA, numB);
- System.out.println(result);
- }
- }
简单工厂的缺陷: 简单工厂创建产品时需要传递相应的参数,如果传递不正确就取不到对象了。
改进:多方法创建不同产品
类图
- public class CalcMultipleFactory {
- public static ICalculation produceAdd() {
- return new CalcAdd();
- }
- public static ICalculation produceSubtract() {
- return new CalcSubtract();
- }
- public static ICalculation produceMultiply() {
- return new CalcMultiply();
- }
- public static ICalculation produceDivide() {
- return new CalcDivide();
- }
- }
- public class Test4Multiple {
- public static void main(String[] args) {
- double numA = 182, numB = 33;
- ICalculation createCalc = CalcMultipleFactory.produceAdd();
- double result = createCalc.getResult(numA, numB);
- System.out.println(result);
- createCalc = CalcMultipleFactory.produceSubtract();
- result = createCalc.getResult(numA, numB);
- System.out.println(result);
- createCalc = CalcMultipleFactory.produceMultiply();
- result = createCalc.getResult(numA, numB);
- System.out.println(result);
- createCalc = CalcMultipleFactory.produceDivide();
- result = createCalc.getResult(numA, numB);
- System.out.println(result);
- }
- }
0 0
- 一个java实现的简单工厂模式
- Java实现简单的工厂模式
- 简单工厂模式java代码的实现
- 简单工厂模式的java实现例子
- java实现简单工厂模式
- Java 实现简单工厂模式
- 简单工厂模式--java实现
- 简单工厂~工厂模式--Java实现
- 软件设计模式之简单的工厂模式(JAVA实现)
- 简单工厂模式的实现
- 简单工厂模式的实现
- 简单的工厂模式实现
- 简单工厂(Simple Factory)模式的Java实现[00原创]
- java 枚举和反射 实现简单的工厂模式
- 工厂模式的简单实现和快速理解--------(java复习)
- 简单工厂模式(java语言实现)
- java简单工厂设计模式实现计算器
- 简单工厂模式和工厂模式的实现例子
- "Device /dev/ttyS? is locked."
- 添加开源代码后出现报错——linker command failed with exit code 1 (use -v to see invocation)
- dubbo服务,常见异常记录
- (1)获取两个日期之间的所有日期并将其存储进List返回。
- 选择远程控制软件要注意什么
- Java实现简单的工厂模式
- 实验室工作工作计划1(12月2日)
- Android报警功能,报警铃音,手机开始震动
- QT用qsrand(time(0))产生随机数时出现"time" was not declared in this scope
- Problem G: Matrix Problem (III) : Array Practice
- JAVA操作properties文件
- mysql的alter操作大全
- jquery问题
- Fragment 导航栏