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

代码:
public interface DataSource{
public Convertor convertData();
}
public class DBConvert implements DataSource{
public Convertor convertData(){
System.out.println("成功加载DB数据");
return new DBConvert ();
}
}
public class TxtConvert implements DataSource{
public Convertor convertData(){
System.out.println("成功加载文本数据");
return new TxtConvert ();
}
}
public class ExcelConvert implements DataSource{
public Convertor convertData(){
System.out.println("成功加载Excel数据");
return new ExcelConvert ();
}
}
public interface Convertor {
public void transform();
}
public class DBToXML implements Convertor {
public void transform(){
System.out.println("将数据库数据转换为XML");
}
}
public class ExcelToXML implements Convertor {
public void transform(){
System.out.println("将EXCEL数据转换为XML");
}
}
public class TxtToXML implements Convertor {
public void transform(){
System.out.println("将TXT数据转换为XML");
}
}
public class Client {
public static void main(String[] args) {
Convertor DBToXML= new DBToXML();
DBToXML.transform();
Convertor ExcelToXML= new ExcelToXML();
ExcelToXML.transform();
Convertor TxtToXML= new TxtToXML();
TxtToXML.transform();
}
}

浙公网安备 33010602011771号