工厂方法作业

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

    }

}

posted @ 2020-03-24 15:06  李代先  阅读(391)  评论(0)    收藏  举报