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();
                
            }
        }
  • 相关阅读:
    Java 中的 TreeSet
    自定义全局异常处理器(Java)
    GitHub Open Feign 使用总结
    搭建 Maven 仓库
    MySQL 的 SQL 笔记
    一道算法题:查找数组 arr 中第 k 小的奇数
    Java 的参数传递
    接口限流的几种算法
    Java 实现一个自定义分布式 Session
    函数反汇编
  • 原文地址:https://www.cnblogs.com/lbonet/p/7154881.html
Copyright © 2011-2022 走看看