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

      

  • 相关阅读:
    Shell重新学习(忘光了)
    vim 设置默认显示行号
    maven学习资料(三)
    maven:新建的maven工程需要添加一下插件
    Spring框架:第五章:Spring EL表达式
    Spring框架:第四章:Spring管理数据库连接池
    Spring框架:第三章:对象的生命周期及单例bean生命周期的11个步骤
    Spring框架:第二章:IOC依赖注入及40个实验
    Spring框架:第一章:介绍和准备工作
    MyBatis框架:第十一章:mybatis 逆向工程
  • 原文地址:https://www.cnblogs.com/leo1111/p/12562437.html
Copyright © 2011-2022 走看看