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中的全局变量与静态变量的区别与联系?有时候为什么专门定义静态变量。(标题党~~)
    举一反三,一小步。
    中国移动的企业文化 ,以及中国移动都有那些业务?
  • 原文地址:https://www.cnblogs.com/LiaoMengyu/p/12562794.html
Copyright © 2011-2022 走看看