工厂方法模式实例公司系统

在实际的企业应用中,一个公司的系统往往分散在很多不
同的地方运行。公司既没有建立全公司专网的实力,又不愿
意让业务数据实时地在广域网上传递。折中的方案是各分公
司内运行系统独立,每天业务结束时,各分公司导出业务数
据、打包、传送给总公司。
导出数据格式会有不同要求
文本格式、数据库备份格式、Excel格式、Xml格式
分清哪是产品类、哪是工厂类

在这里插入图片描述

ExportFileApi

package 工厂方法模式;

public interface ExportFileApi {
	public boolean export(String data);
}

ExportOpearte

public abstract class ExportOpearte {
	public boolean export(String data)
	{
	ExportFileApi api=factoryMethod();

	return api.export(data);
	}
	protected abstract ExportFileApi factoryMethod();

}

ExportDB

public class ExportDB implements ExportFileApi {

	@Override
	public boolean export(String data) {
		System.out.println("导出数据"+data+"到数据库备份文件");
		return true;
	}

}

ExportDBOperate

public class ExportDBOperate extends ExportOpearte {

	@Override
	protected ExportFileApi factoryMethod() {
		// TODO Auto-generated method stub
		return new ExportDB();
	}

}

ExportTxtFile

public class ExportTxtFile implements ExportFileApi {

	@Override
	public boolean export(String data) {
		System.out.println("导出数据"+data+"到文本文件");
		return true;
	}

}

ExportTxtFileOperate

public class ExportTxtFileOperate extends ExportOpearte {

	@Override
	protected ExportFileApi factoryMethod() {
		// TODO Auto-generated method stub
		return new ExportTxtFile();
	}

}

客户端

public class test {

	public static void main(String[] args) {
		ExportOpearte operate =new ExportDBOperate();
		operate.export("测试数据");

	}

}
发布了109 篇原创文章 · 获赞 40 · 访问量 6163

猜你喜欢

转载自blog.csdn.net/qq_15719613/article/details/105277404