工厂方法

一、问题

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

二、UML图

 

 

 

三、java实现

 

//抽象工厂接口

public interface DataFactroy{

  public Convertor getData();
}

public class TxtData implements DataFactroy{
  public Convertor getData(){
    System.out.println("成功创建Txt");
    return new TxtData();
  }
}

public class DatabaseData implements DataFactory{
  public Convertor getData(){
    System.out.println("成功创建Database");
    return new DatabaseData();
  }
}

public class ExcelData implements DataFactroy {
  public Convertor getData(){
    System.out.println("成功创建Excel");
    return new ExcelData();
  }
}

//抽象产品接口
public interface Convertor {
  public void transform();
}

public class TxtConvertor implements Convertor {
  public void transform(){
    System.out.println("成功将txt转换为XML");
  }
}

public class DatabaseConvertor implements Convertor {
  public void transform(){
    System.out.println("成功将Database转换为XML");
  }
}

public class ExcelConvertor implements Convertor {
  public void transform(){
    System.out.println("成功将excel转换为XML");
  }
}

public class Client {
  public static void main(String[] args) {
    Convertor txtConvertor = new txtConvertor();
    txtConvertor.transform();
    Convertor DatabaseConvertor = new DatabaseConvertor();
    DatabaseConvertor.transform();
    Convertor ExcelConvertor = new ExcelConvertor();
    ExcelConvertor.transform();
  }  
}

成功将txt转换为XML

成功将Database转换为XML

成功将excel转换为XML

posted @ 2020-03-25 01:03  zw张巍  阅读(199)  评论(0编辑  收藏  举报