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

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

    类图:

    对应C#代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace DataConversion
    {
        interface IDataSource        //数据源接口
        {
            void Converte();
        }
    
        class TxtSource : IDataSource        //txt文件
        {
            public void Converte()
            {
                Console.WriteLine("txt文件数据源转换为XML格式成功!");
            }
        }
        class DataBaseSource : IDataSource        //数据库文件
        {
            public void Converte()
            {
                Console.WriteLine("数据库文件数据源转换为XML格式成功!");
            }
        }
        class ExcelSource : IDataSource        //Excel文件
        {
    
            public void Converte()
            {
                Console.WriteLine("Excel文件数据源转换为XML格式成功!");
            }
        }
        interface IConverter        //创建转换接口
        {
    
            IDataSource CreatConversion();
        }
        class TxtConverteToXML : IConverter        //txt文件转为XML
        {
            public IDataSource CreatConversion()
            {
                Console.WriteLine("连接txt文件数据源成功!");
                return new TxtSource();
            }
        }
        class DataBaseConverteToXML : IConverter        //数据库文件转为XML
        {
            public IDataSource CreatConversion()
            {
                Console.WriteLine("连接数据库文件数据源成功!");
                return new DataBaseSource();
            }
        }
        class ExcelConverteToXML : IConverter        //Excel文件转为XML
        {
            public IDataSource CreatConversion()
            {
                Console.WriteLine("连接Excel文件数据源成功!");
                return new ExcelSource();
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                IConverter txt = new TxtConverteToXML();        //测试txt文件转化
                txt.CreatConversion().Converte();
    
                IConverter excel = new ExcelConverteToXML();        //测试Excel文件转化
                excel.CreatConversion().Converte();
    
                IConverter dataBase = new DataBaseConverteToXML();        //测试数据库文件转化
                dataBase.CreatConversion().Converte();
    
                Console.ReadKey();
            }
        }
    }

    输出结果:

  • 相关阅读:
    Java基础学习(五) String类
    Java基础学习(四) java8线程
    Java基础学习(三) IO
    Java基础学习(二) 集合
    Java基础学习(一) 基本数据类型和引用数据类型
    枚举类常见漏洞解决
    数据校验
    postman如何传递token进行接口测试
    Spring Cloud-OpenFegin
    SpringCloud-Eureka
  • 原文地址:https://www.cnblogs.com/wangtao1211/p/12519427.html
Copyright © 2011-2022 走看看