工厂方法作业

问题描述:某软件公司欲开发一个数据格式转换工具,可以将不同数据源如txt文件、数据库、Excel表格中的数据转换成XML格式。为了让系统具有更好的扩展性,在未来支持新类型的数据源,开发人员使用工厂方法模式设计该转换工具的核心类,客户端只需使用工厂类即可获得具体的转换类对象,再调用其相应方法实现数据转换操作。绘制该类图,并选择一种语言编程实现。

绘制的UML图:

package 作业;

public interface DataSource {
	
	public void DataSource(); 

}


package 作业;

public interface Convert {
	
	public DataSource convert();

}

package 作业;

public class TxtDataSource implements DataSource {

	@Override
	public void DataSource() {
		// TODO Auto-generated method stub
		System.out.println("加载txt数据");
	}

}


package 作业;

public class EcxelDataSource implements DataSource{

	@Override
	public void DataSource() {
		// TODO Auto-generated method stub
		System.out.println("加载Excel数据");
	}

}

package 作业;

public class DataBaseSource implements DataSource{

	@Override
	public void DataSource() {
		// TODO Auto-generated method stub
		System.out.println("加载数据库");
	}

}


package 作业;

public class TxtConvert implements Convert {

	@Override
	public DataSource convert() {
		// TODO Auto-generated method stub
		DataSource ds = new TxtDataSource();
		System.out.println("txt转换完成");
		return ds;
	}

}

package 作业;

public class ExcelConvert implements Convert{

	@Override
	public DataSource convert() {
		// TODO Auto-generated method stub
		DataSource ds = new EcxelDataSource();
		System.out.println("Excel转换完成");
		return ds;

	}

}

package 作业;

public class DataBaseConver implements Convert{

	@Override
	public DataSource convert() {
		// TODO Auto-generated method stub
		DataSource ds = new DataBaseSource();
		System.out.println("数据库转换完成");
		return ds;
	
	}

}

package 作业;

public class test {
	 public static void main(String[] args) {
		 	Convert tc = new TxtConvert();
		    tc.convert();
		         
		    Convert dc = new DataBaseConver();
		    dc.convert();
		         
		    Convert cc  = new ExcelConvert();
		    cc.convert();
		   }

}
结果:

  

原文地址:https://www.cnblogs.com/leo1111/p/12562437.html