• 工厂方法作业


    某软件公司欲开发一个数据格式转换工具,可以将不同数据源如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();
            }
        }
    }

    输出结果:

  • 相关阅读:
    《网络攻防》实验八:Web基础
    《网络攻防》实验七:网络欺诈技术防范
    《网络攻防》实验六:信息搜集与漏洞扫描
    《网络攻防》实验五:MSF基础应用
    《网络攻防》实验四:恶意代码分析
    《网络攻防》实验三:免杀原理与实践
    《网络攻防》实验二:后门原理与实践
    20145213《网络对抗》逆向及Bof基础
    《课程设计》——cupp的使用
    《课程设计》——foremost的使用
  • 原文地址:https://www.cnblogs.com/wangtao1211/p/12519427.html
Copyright © 2020-2023  润新知