zoukankan      html  css  js  c++  java
  • 设计模式之工厂方法的重载

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    //工厂方法的重载
    namespace Factory_event
    {
        internal interface hload_LoggerFactory
        {
            Logger CreateLogger();
            Logger CreateLogger(string args);
            Logger CreateLogger(object obj);
        }
    
        internal class hload_DatabaseLoggerFactory : hload_LoggerFactory
        {
    
            public Logger CreateLogger()
            {
                //使用默认方式连接数据库,代码省略
                Logger logger=new DatabaseLogger();
                Console.WriteLine("使用默认方式连接数据库");
                //初始化数据库日志
                return logger;
            }
    
            public Logger CreateLogger(string args)
            {
                //使用参数args作为链接字符串来链接数据库,代码省略
                Logger logger = new DatabaseLogger();
                Console.WriteLine("使用参数{0}作为链接字符串来链接数据库", args);
                //初始化数据库日志
                return logger;
            }
    
            public Logger CreateLogger(object obj)
            {
                //使用封装在obj中的链接字符串来链接数据库,代码省略
                Logger logger = new DatabaseLogger();
                Console.WriteLine("使用封装在obj中的链接字符串来链接数据库");
                //初始化数据库日志
                return logger;
            }
            /*
             * 在抽象工厂中声明了多个重载工厂方法,在具体工厂中实现了这些工厂方法,
             * 这些方法可以包含不同的业务逻辑以满足产品对象的多样化创建需求。
             */
        }
    }
    class Program
        {
            static void Main(string[] args)
            {
                
                //工厂方法重载
                hload_LoggerFactory h_factory =new hload_DatabaseLoggerFactory();
                logger=h_factory.CreateLogger();
                logger.WriteLog();
                logger=h_factory.CreateLogger("123");
                logger.WriteLog();
                Console.Read();
                
            }
        }
  • 相关阅读:
    软件杯第一阶段
    架构漫谈读后感二
    架构漫谈读后感一
    软件架构实践读后感三
    Refined Architecture阶段读后感
    软件架构实践读后感二
    Excel打开csv文件乱码
    安装机器学习所需的库
    认识Numpy Ndarray对象
    初识pandas
  • 原文地址:https://www.cnblogs.com/lbonet/p/7154881.html
Copyright © 2011-2022 走看看