工厂方法作业
题目:某软件公司欲开发一个数据格式转换工具,可以将不同数据源如txt文件、数据库、Excel表格中的数据转换成XML格式。为了让系统具有更好的扩展性,在未来支持新类型的数据源,开发人员使用工厂方法模式设计该转换工具的核心类,客户端只需使用工厂类即可获得具体的转换类对象,再调用其相应方法实现数据转换操作。绘制该类图,并选择一种语言编程实现。
1.类图
2.代码(java)
1 public interface Convert { 2 3 public DataFactory convertData(); 4 5 } 6 7 public interface DataFactory { 8 9 public void importData(); 10 11 } 12 13 public class txtData implements DataFactory{ 14 15 public void importData() { 16 System.out.println("txt数据引入完毕"); 17 } 18 19 } 20 class databaseData implements DataFactory{ 21 22 public void importData() { 23 System.out.println("数据库数据引入完毕"); 24 } 25 26 } 27 class excelData implements DataFactory{ 28 29 public void importData() { 30 System.out.println("excel数据引入完毕"); 31 } 32 33 } 34 35 public class txtConvert implements Convert{ 36 37 public DataFactory convertData() { 38 DataFactory data = new txtData(); 39 System.out.println("txt数据转换完成"); 40 return data; 41 } 42 43 } 44 class databaseConvert implements Convert{ 45 46 public DataFactory convertData() { 47 DataFactory data = new databaseData(); 48 System.out.println("数据库数据转换完成"); 49 return data; 50 } 51 52 } 53 class excelConvert implements Convert{ 54 55 public DataFactory convertData() { 56 DataFactory data = new excelData(); 57 System.out.println("excel数据转换完成"); 58 return data; 59 } 60 61 } 62 63 public class client { 64 65 public static void main(String[] args) { 66 Convert Ctxt = new txtConvert(); 67 Ctxt.convertData(); 68 69 Convert Cdatabase = new databaseConvert(); 70 Cdatabase.convertData(); 71 72 Convert Cexcle = new excelConvert(); 73 Cexcle.convertData(); 74 } 75 76 }

浙公网安备 33010602011771号