设计模式之工厂方法的重载
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();}}
转载于:https://www.cnblogs.com/lbonet/p/7154881.html
设计模式之工厂方法的重载相关推荐
- 一文叫你弄懂Java设计模式之工厂方法模式:图解+日志记录器代码实例
文章目录 详解Java设计模式之工厂方法模式 案例引入工厂方法模式 工厂方法模式 定义 案例分析 UML类图分析 代码分析 工厂方法的重载 工厂方法的隐藏 模式优点 模式缺点 模式适用环境 详解Jav ...
- python类是实例的工厂_Python设计模式之工厂方法模式实例详解
本文实例讲述了Python设计模式之工厂方法模式.分享给大家供大家参考,具体如下: 工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定实例化哪一个类, ...
- 设计模式复习-工厂方法模式
设计模式复习-工厂方法模式 相对于简单工厂,工厂方法是把算法类的实例化延迟到了调用者那去做,调用者根据自己的需要,自己实例化相关的工厂并且生产相关算法.这么做是因为简单工厂是不满足OCP的,因为如果 ...
- C#设计模式(3)——工厂方法模式
一.引言 在简单工厂模式中讲到简单工厂模式的缺点,有一点是--简单工厂模式系统难以扩展,一旦添加新产品就不得不修改简单工厂方法,这样就会造成简单工厂的实现逻辑过于复杂,然而本专题介绍的工厂方法模式可以 ...
- 设计模式之工厂方法模式(创建型)
一.模式定义 工厂方法模式:又称工厂模式,也叫虚拟构造器模式,属于构建型设计模式,工厂方法模式是在简单工厂模式上进行拓展,生产产品的过程由具体工厂类实现,基类只实现接口,这使得工厂方法模式可以在不修改 ...
- 设计模式之工厂方法模式应用例题
设计模式之工厂方法模式应用例题 题目描述 类结构图及相关说明 程序代码 运行结果 题目描述 现需要设计一个程序来读取多种不同类型的图片格式,针对每一种图片格式都设计一个图片读取器(ImageReade ...
- 设计模式:工厂方法模式(Factory method)
设计模式:工厂方法模式(Factory method) 一.问题 在前一章中通过披萨的实例介绍了简单工厂模式.在披萨实例中,如果我想根据地域的不同生产出不同口味的披萨,如纽约口味披萨,芝加哥口味披萨. ...
- 【设计模式】工厂方法模式(C#)
[设计模式]工厂方法模式 1.概述 针对简单工厂中的缺点,使用工厂方法模式就可以完美的解决,完全遵循开闭原则. 定义一个用于创建对象的接口,让子类决定实例化哪个产品类对象.工厂方法使一个产品类的实例化 ...
- 二、java设计模式之工厂方法+抽象工厂模式(创建型设计模式)
创建型设计模式-工厂模式和应用 工厂模式介绍: 它提供了一种创建对象的最佳方式,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象 例子: 需要购买一辆车,不用管 ...
最新文章
- 手机AI、购物AI...还有哪个“AI+”被忽略了?
- asp与网站安全的初步构想(1)——操作系统安全
- SharpDevelop插件系统创建过程全面分析
- 业界率先支持 MCP-OVER-XDS 协议,Nacos 2.0.1 + 1.4.2 Release 正式发布
- Jquery- 错误消息Date未定义,String未定义
- Docker图形化管理工具之Portainer
- ROS2学习(十一).ROS概念 - 命令行工具的使用
- python 港股交易数据_GitHub - 116pythonZS/futuquant: 富途量化平台 API
- innodb_pool_buffer_size对innodb性能的影响
- 你的第一杯Web 2.0 —— 快速浏览jQuery、Spring MVC和XStream/Jettison
- DotNetBar 6.2
- Java测试工具Mock详解
- 第7章非线性系统的分析-7.1非线性系统的基本概念
- AppStore安装历史版本,利用Charles抓包安装历史版本
- 解决服务器密码忘记,查看Xshell中已经保存的密码
- lvds输入悬空_MAX 10高速LVDS I/O用户指南
- 改进YOLOv7系列:21.添加ShuffleAttention注意力机制
- 一碗泡面背后的努力,康师傅连续十次斩获“食安管理十强企业”
- Java工程师和软件工程师的关系-蛙课网
- 跨平台应用开发进阶(三十四) :uni-app 应用 Universal Link 实现 iOS 微信分享