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

  • 相关阅读:
    Java实现 LeetCode 148 排序链表
    Java实现 LeetCode 148 排序链表
    Java实现 LeetCode 148 排序链表
    Java实现 LeetCode 147 对链表进行插入排序
    Java实现 LeetCode 147 对链表进行插入排序
    VC++的菜单控制和自绘菜单
    仅通过崩溃地址找出源代码的出错行
    积累的VC编程小技巧之框架窗口及其他
    积累的VC编程小技巧之图标、光标及位图
    积累的VC编程小技巧之视图
  • 原文地址:https://www.cnblogs.com/LiaoMengyu/p/12562794.html
Copyright © 2011-2022 走看看