hash HTML框架 TCP连接 xamarin button variant arm progressjs HammerJS less官网 linux关闭mysql js回调函数写法 cad怎么重复上一次命令 bitlocker加密好慢 mysql分页查询sql语句 oracle连接字符串 quartz配置 mysql连接 python正则表达 python怎么入门 java中泛型 java中基本数据类型 java停止线程 opengl编程指南 php连接mssql swing布局 su版本转换器 eml文件阅读器下载 野德天赋 mac地址修改 dnf传说装备 ps3d字体 茸好珠 发射爱心的图片 变声器电脑版 鬼灵战马 linux系统下载 8700和8700k js观察者模式 ps测量工具
当前位置: 首页 > 学习教程  > 编程语言

Java Factory工厂模式

2021/1/13 19:17:24 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

Java工厂模式简介分类简单工厂模式工厂方法模式抽象工厂模式总结简介 工厂模式是典型的解耦框架,即定义一个用于创建对象的接口,让对象来决定具体实现,上层只需要关注接口的调用即可,对具体实现可屏蔽。分类 简单工厂模式&#…

Java工厂模式

  • 简介
  • 分类
    • 简单工厂模式
    • 工厂方法模式
    • 抽象工厂模式
  • 总结

简介

工厂模式是典型的解耦框架,即定义一个用于创建对象的接口,让对象来决定具体实现,上层只需要关注接口的调用即可,对具体实现可屏蔽。

分类

  • 简单工厂模式(Simple Factory)
  • 工厂方法模式(Factory Method)
  • 抽象工厂模式(Abstract Factory)

简单工厂模式

// 创建类
public abstract class Tool {
	public void create();
}
// 创建子类1继承父类
public class Tool1 extends Tool {
	@Override
	public void create() {
		print("tool1");
	}
}
// 创建子类2继承父类
public class Tool2 extends Tool {
	@Override
	public void create() {
		print("tool2");
	}
}
// 创建工厂类
public class ToolFactory() {
	public Tool createTool(String toolType) {
		Tool tool = null;
        switch (toolType) {
            case "tool1":
                tool = new Tool1();
                break;
            case "tool2":
                tool2 = new Tool2();
                break;
            default:
                break;
        }
        return tool;
	}
}
// 调用方式
Tool tool = ToolFactory.createTool("tool1");
tool.create();

工厂方法模式

// 创建基础工厂
public abstract class ToolFactory {
	public Tool createTool()}
// 创建子工厂1
public class Tool1Factory extends ToolFactory {
	@Override
	public Tool createTool() {
		return new Tool1();
	}
}
// 创建子工厂2
public class Tool2Factory extends ToolFactory {
	@Override
	public Tool createTool() {
		return new Tool2();
	}
}
// 调用方式
Tool1Factory.createTool();
Tool2Factory.createTool();

抽象工厂模式

// 创建基础工厂,多个方法
public abstract class ToolFactory {
	public Tool createTool1()public Tool createTool2()}
// 创建子工厂1
public class Tool1Factory extends ToolFactory {
	@Override
	public Tool createTool1() {
		return new Tool1();
	}
	@Override
	public Tool createTool2() {
		return new Tool2();
	}
}
// 创建子工厂2
public class Tool2Factory extends ToolFactory {
	@Override
	public Tool createTool1() {
		return new Tool1();
	}
	@Override
	public Tool createTool2() {
		return new Tool2();
	}
}
// 调用方式
Tool1Factory.createTool1();
Tool1Factory.createTool2();
Tool2Factory.createTool1();
Tool2Factory.createTool2();

总结

  • 简单工厂模式:应用不多
  • 工厂方法模式:通过创建子工厂的模式将原始工厂内的单一方法指向不同的实现,用户可通过不用的工厂类调用同一方法实现不同逻辑
  • 抽象工厂模式:该模式可以实现工厂内多种方法的多种实现,在解耦方面做得最好,最具灵活性

本文链接: http://www.dtmao.cc/news_show_600015.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?