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

      

  • 相关阅读:
    NFS-heartbeat-drbd模拟NFS高可用
    drbd
    hearbeat
    ldap
    SVN
    Nginx负载均衡
    shell-day1
    angularJS(二):作用域$scope、控制器、过滤器
    angularJS(一):表达式、指令
    nodejs、npm、 typescript、angular-cli安装
  • 原文地址:https://www.cnblogs.com/leo1111/p/12562437.html
Copyright © 2011-2022 走看看