zoukankan      html  css  js  c++  java
  • 工厂作业方法

    工厂作业方法

     作业问题:

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

    类图:

     实现代码:

    //抽象工厂接口
    public interface ConvertorCreator {
    //创建具体的转换对象
    public Convertor getConvertor();
    }

    public class DBConvertorCreator implements ConvertorCreator {
    public Convertor getConvertor(){
    //数据库数据转换器
    System.out.println("成功创建数据库数据转换器");
    return new DBConvertor();
    }
    }

    public class EXCELConvertorCreator implements ConvertorCreator{
    public Convertor getConvertor(){
    //EXCEL数据转换器
    System.out.println("成功创建EXCEL数据转换器");
    return new EXCELConvertor();
    }
    }

    public class TXTConvertorCreator implements ConvertorCreator {
    public Convertor getConvertor(){
    //TXT数据转换器
    System.out.println("成功创建TXT数据转换器");
    return new TXTConvertor();
    }
    }

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

    public class DBConvertor implements Convertor {
    public void transform(){
    //数据库数据转换为XML格式
    System.out.println("成功将数据库数据转换为XML格式");
    }
    }

    public class EXCELConvertor implements Convertor {
    public void transform(){
    //EXCEL数据转换为XML格式
    System.out.println("成功将EXCEL数据转换为XML格式");
    }
    }

    public class TXTConvertor implements Convertor {
    public void transform(){
    //TXT数据转换为XML格式
    System.out.println("成功将TXT数据转换为XML格式");
    }
    }

    public class Client {
    public static void main(String[] args) {
    Convertor DBConvertor = new DBConvertor();
    DBConvertor.transform();
    Convertor EXCELConvertor = new EXCELConvertor();
    EXCELConvertor.transform();
    Convertor TXTConvertor = new TXTConvertor();
    TXTConvertor.transform();
    }
    }

  • 相关阅读:
    调用Config.ini类
    winform用AForge拍照功能
    winform导出csv
    winform导出excel
    net里面using的使用
    DBNULL与null的区别
    mui app在线更新
    redux-thunk初步使用
    初步使用Web Notification 实现浏览器消息通知
    ios唤起键盘后,页面不收回导致元素错位的问题.(譬如固定在底部的自定义键盘等)
  • 原文地址:https://www.cnblogs.com/LiaoMengyu/p/12562794.html
Copyright © 2011-2022 走看看