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

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

    绘制的UML图:

    package 作业;
    
    public interface DataSource {
    	
    	public void DataSource(); 
    
    }
    
    
    package 作业;
    
    public interface Convert {
    	
    	public DataSource convert();
    
    }
    
    package 作业;
    
    public class TxtDataSource implements DataSource {
    
    	@Override
    	public void DataSource() {
    		// TODO Auto-generated method stub
    		System.out.println("加载txt数据");
    	}
    
    }
    
    
    package 作业;
    
    public class EcxelDataSource implements DataSource{
    
    	@Override
    	public void DataSource() {
    		// TODO Auto-generated method stub
    		System.out.println("加载Excel数据");
    	}
    
    }
    
    package 作业;
    
    public class DataBaseSource implements DataSource{
    
    	@Override
    	public void DataSource() {
    		// TODO Auto-generated method stub
    		System.out.println("加载数据库");
    	}
    
    }
    
    
    package 作业;
    
    public class TxtConvert implements Convert {
    
    	@Override
    	public DataSource convert() {
    		// TODO Auto-generated method stub
    		DataSource ds = new TxtDataSource();
    		System.out.println("txt转换完成");
    		return ds;
    	}
    
    }
    
    package 作业;
    
    public class ExcelConvert implements Convert{
    
    	@Override
    	public DataSource convert() {
    		// TODO Auto-generated method stub
    		DataSource ds = new EcxelDataSource();
    		System.out.println("Excel转换完成");
    		return ds;
    
    	}
    
    }
    
    package 作业;
    
    public class DataBaseConver implements Convert{
    
    	@Override
    	public DataSource convert() {
    		// TODO Auto-generated method stub
    		DataSource ds = new DataBaseSource();
    		System.out.println("数据库转换完成");
    		return ds;
    	
    	}
    
    }
    
    package 作业;
    
    public class test {
    	 public static void main(String[] args) {
    		 	Convert tc = new TxtConvert();
    		    tc.convert();
    		         
    		    Convert dc = new DataBaseConver();
    		    dc.convert();
    		         
    		    Convert cc  = new ExcelConvert();
    		    cc.convert();
    		   }
    
    }
    结果:
    
    

      

  • 相关阅读:
    Ubuntu下多版本软件的管理
    关于高考
    Openca安装笔记
    Nginx+uwsgi+python配置
    cpabe的安装
    线形同余法求随机数
    world wind 之 applet 篇
    0909 海贼王我当定了
    实验0:了解和熟悉操作系统
    0316复利计算器3.0
  • 原文地址:https://www.cnblogs.com/leo1111/p/12562437.html
Copyright © 2011-2022 走看看