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

      

  • 相关阅读:
    深度学习python的配置(Windows)
    D02-R语言基础学习
    D01-R语言基础学习
    D17——C语言基础学PYTHON
    D16——C语言基础学PYTHON
    D15——C语言基础学PYTHON
    python packaging
    D14——C语言基础学PYTHON
    D13——C语言基础学PYTHON
    python-----多进程笔记
  • 原文地址:https://www.cnblogs.com/leo1111/p/12562437.html
Copyright © 2011-2022 走看看