反射 + 抽象工厂模式切换不同的实现方法

概述

工厂模式(Abstract Factory)定义 :提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。

实现

1、在项目中,创建接口IA

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;namespace 工厂
{public interface IA{string RequestId();}
}

2、实现方法1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;namespace 工厂
{public class a1 : IA{public string RequestId()
{return "a11111";}}
}

3、实现方法2

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;namespace 工厂
{public class a2 : IA{public string RequestId()
{return "a22222";}}
}

测试

使用反射的方式,切换不同的实现方法

  public IActionResult Index(){var a1 = (工厂.IA)Assembly.Load("工厂").CreateInstance("工厂.a1");Console.WriteLine(a1);var a2 = (工厂.IA)Assembly.Load("工厂").CreateInstance("工厂.a2");Console.WriteLine(a2);return View();}

结果如下,达到预期效果

代码地址:

https://gitee.com/conanOpenSource_admin/Example/tree/master/%E5%B7%A5%E5%8E%82

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3 年工作经验程序员应有的技能

前言因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章。这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发的,因此有一部分内容也是专门面向咱们Java程序员的。第二阶段:五年五…

应急响应中的溯源方法

在发现有入侵者后,快速由守转攻,进行精准地溯源反制,收集攻击路径和攻击者身份信息,勾勒出完整的攻击者画像。 对内溯源与对内溯源 对内溯源:确认攻击者的行为 ,分析日志 数据包等; 对外溯源&…

POP3口令扫描案例

通过本案例可以学到: (1)了解POP3有关知识(2)利用Hscan工具软件来破解POP3账号和口令现在很多邮箱服务器都支持POP3功能,通过POP3来收取信件,收取信件时仅仅需要提供用户名和密码。目前有很多工具可以扫描POP3邮件账号和口令,本案…

中connect怎么用_烘焙中的各种酒,到底该怎么用?

​在烘焙食谱中,经常会出现“酒”这样材料。烘焙中的酒,仿佛是个神秘的存在,品种也繁多得让人一脸懵逼,朗姆酒是干嘛用的?怎么还有分白朗姆和金朗姆?和利口酒有什么区别?利口酒和力娇酒是同一个…

QQ旋风爆缓冲区溢出漏洞

据金山毒霸安全实验室5月7日透露,金山毒霸安全实验室研究人员进行例行漏洞检查过程中,发现QQ旋风存在一鲜为人知的缓冲区溢出0day漏洞,***者可以利用该漏洞制造恶意URL,使用IE6,7内核的各种浏览器均会受此漏洞的影响。…

w10计算机无法打印,win10升级后惠普无法打印怎么解决_win10升级后惠普打印不了的处理办法...

使用电脑工作或学习时,我们经常会需要用到打印机。可是最近有一些网友却反映说,自己的win10电脑在升级后出现了惠普无法打印的情况,这是怎么一回事呢?我们又该怎么解决呢?用户不是很清楚,所以对此今天本文为…

女神节爆猛料!. NET程序员男女比例公布!

今天是三八女神节,这里先祝广大的程序员妹子们节日快乐,健康美丽!有一个问题,相信很多.NET程序员都很感兴趣:.NET程序员中女生占比多少?先来公布答案:在本次调查中发现,.NET程序员群…

金蝶凭证序时簿在哪_来了!金蝶日常账务处理大全

上一期给宝宝们更新了金蝶软件建账的一些处理流程,宝宝们已经迫不及待要求后续了。在日常处理部分主要是以下几个方面一、凭证审核1.凭证录入点击主窗口中的【凭证】,单击【凭证】录入在凭证录入窗口中单击【凭证录入】按钮,在这个窗口中就可…

在C#中使用SQLite

SQLite 是一个嵌入式的关系数据库系统,使用十分广泛。在一些数据量不大的应用程序中,如果使用SQLite可以极大的减少部署时的工作量。 要在C#中使用SQLite也很简单,只要找一个C#的wrapper就可以了,例如,我使用的就是来自…

BI 界震动 - Power BI Premium 个人版只要每月 120 元

大事来了就在今天,微软宣布:Power BI Premium Per User 定价:每月 120 元人民币。我只能说:他没有骗人。Power BI 团队也在这个战略决策上符合了微软的核心使命。这一举措将更加彻底的巩固微软 Power BI 的商业智能帝国地位&#…

用 Python 实现一个大数据搜索引擎

搜索是大数据领域里常见的需求。Splunk和ELK分别是该领域在非开源和开源领域里的领导者。本文利用很少的Python代码实现了一个基本的数据搜索功能,试图让大家理解大数据搜索的基本原理。布隆过滤器 (Bloom Filter)第一步我们先要实现一个布隆…

iNeuOS工业互联操作系统,图表与数据点组合成新组件,进行项目复用

目 录1. 概述... 12. 演示信息... 23. 应用过程... 21. 概述针对有些行业的数据已经形成了标准化的建模或者有些公司专注于某个领域,对于开发业务有很多情况需求进行复用,以前的版本和文章介绍了图元及数据点的组合形成新的图元进…

通过对象属性去重_Redis常见对象类型的底层数据结构

作者:伍陆七来源:cnblogs.com/chentianming/p/13838347.htmlRedis 是一个基于内存中的数据结构存储系统,可以用作数据库、缓存和消息中间件。Redis 支持五种常见对象类型:字符串(String)、哈希(Hash)、列表(List)、集合(Set)以及有…

按照演算,整个宇宙将会陷入无边的黑暗

导读:能量守恒定律告诉我们:能量既不会凭空产生,也不会凭空消失,它只会从一种形式转化为另一种形式,或者从一个物体转移到其它物体,而能量的总量保持不变。熵作为只增不减的物质,该怎么去理解它…

xp计算机启动检测硬盘,取消WinXP开机自检技巧五则

有时我们正常关闭计算机后,再次开机时发现系统会出现自行检测,这让许多XP用户们感到不方便,那么该怎么取消XP开机自检呢?下面就是具体的方法了,一起来看看吧。方法①:假如分区是FAT32格式,将其转…

10 邮件槽_员工主动发离职邮件,提出申请又反悔,法院判决让人懵了!

前言:很多职场人从来不把劳动法当作一项技能,一遇到事,瞬间就傻。还有部分职场人,什么事都不做,只会说劳动法没有用。就笔者认识的一部分大厂员工,他们现在已经把每天视频打卡跟录音取证作为一项日常工作来…

干货|机器学习零基础?不要怕,吴恩达机器学习课程笔记2-多元线性回归

吴恩达Coursera机器学习课系列笔记课程笔记|吴恩达Coursera机器学习 Week1 笔记-机器学习基础1Linear Regression with Multiple Variables紧接上一篇的例子 – 房价预测。现在我们有更多的特征来预测房价了,“房间的数量”、“楼层”、“房龄”……说明一下接下来要…

技能高考本科计算机类,技能高考多少分上本科

技能高考总分为700分,包括专业技能满分490分,文化课满分210分。能上大学只要总分300往上都可以。如果是本科的话,每个专业的分数线不一样,少的在400分左右,多的比如会计类专业的话可能要到500以上才能报考本科院校。什…

新增一个主键自增长_MyBatis 示例-主键回填

测试类&#xff1a;com.yjw.demo.PrimaryKeyTest自增长列数据库表的主键为自增长列&#xff0c;在写业务代码的时候&#xff0c;经常需要在表中新增一条数据后&#xff0c;能获得这条数据的主键 ID&#xff0c;MyBatis 提供了实现的方法。StudentMapper.xml<insert id"…

干货|机器学习零基础?不要怕,吴恩达课程笔记第三周!逻辑回归与正则

吴恩达Coursera机器学习课系列笔记课程笔记|吴恩达Coursera机器学习 Week1 笔记-机器学习基础干货|机器学习零基础&#xff1f;不要怕&#xff0c;吴恩达机器学习课程笔记2-多元线性回归1Logistic Regression1.1 Logistic Regression (Classification) Model之前对房价的预测&a…