首页 > 代码库 > 设计模式之工厂方法的重载
设计模式之工厂方法的重载
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(); } }
设计模式之工厂方法的重载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。