温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java中设计模式的工厂模式是什么意思

发布时间:2021-11-17 11:35:02 来源:亿速云 阅读:99 作者:小新 栏目:大数据

这篇文章主要为大家展示了“java中设计模式的工厂模式是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java中设计模式的工厂模式是什么意思”这篇文章吧。

  • 1 简单工厂模式

java中设计模式的工厂模式是什么意思

java中设计模式的工厂模式是什么意思

package com.shi.design.factory.simplefactory;

/**
 * 把创建对象的过程交个工厂来实现
 * @author shiye
 *
 */
public class SimpleFactory {
	
	/**
	 *  根据输入对象的类行,来决定创建什么类
	 * @param type
	 * @return
	 */
	public static Operation createOperation(String type) {
		Operation option = null;
		
		switch (type) {
			case "+":
				option = new OperationAdd();
				break;
			case "-":
				option = new OperationSub();
				break;
			case "*":
				option = new OperationMul();
				break;
			case "/":
				option = new OperationDiv();
				break;
			default:
				break;
		}
		return option;
	}

}
  • 2 方法工厂模式

java中设计模式的工厂模式是什么意思

java中设计模式的工厂模式是什么意思

package com.shi.design.factory.methodfactory;

/**
 * 方法工厂模式:使用具体的子类来实现工厂模式
 * @author shiye
 *
 */
public class AddMethodFactory implements MethodFactory {

	@Override
	public Operation createOperation(String type) {
		return new OperationAdd();
	}

}
package com.shi.design.factory.methodfactory;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.JapaneseImperialCalendar;

import sun.util.BuddhistCalendar;

public class Test2 {

	public static void main(String[] args) {
						
		//追踪jdk源码:Calendar.getInstance() 就是一个工厂模式
		/**
		 * if (caltype != null) {
                switch (caltype) {
                case "buddhist":
                cal = new BuddhistCalendar(zone, aLocale);
                    break;
                case "japanese":
                    cal = new JapaneseImperialCalendar(zone, aLocale);
                    break;
                case "gregory":
                    cal = new GregorianCalendar(zone, aLocale);
                    break;
                }
            }
		 */
		Calendar calendar = Calendar.getInstance();
		
	}

}

以上是“java中设计模式的工厂模式是什么意思”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI