工厂方法作业

题目:某软件公司欲开发一个数据格式转换工具,可以将不同数据源如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 }

 

posted @ 2020-03-22 15:11  kkkyl  阅读(271)  评论(0)    收藏  举报