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();
    }
    }

  • 相关阅读:
    1、PHP入门二维数组与循环
    Nginx 配置反向代理后,页面中取绝对URL地址的问题显示代理端口
    苹果手机上点击WEUI日期控件不容易点中
    ios 不支持-,-时间。
    Newtonsoft.Json添加项
    Baidu地图Map api直接加https不起作用
    腾讯云cos封装
    linux连接工具隧道模式
    微信调试工具测试时有时候复制URL没有corpid解决
    WEUI控件JS用法
  • 原文地址:https://www.cnblogs.com/LiaoMengyu/p/12562794.html
Copyright © 2011-2022 走看看