Spring.NET依赖注入 - 制作可替换的算法
1. 配置文件
<configSections>
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
</sectionGroup>
</configSections>
<spring>
<context>
<resource uri="config://spring/objects"/>
</context>
<objects>
<!-- Default Implement -->
<object name="algHello" type="CsharpTrainer.Strategy.Hello.EngHello, CsharpTrainer.Strategy">
</object>
<!-- Extended Implement -->
<!--<object name="algHello" type="CsharpTrainer.Strategy.Hello.ChnHello, CsharpTrainer.Strategy">
</object>-->
</objects>
</spring>
...
</configuration>
2. 算法接口
策略接口
{
void Execute();
}
算法1
{
public void Execute()
{
Console.WriteLine("Hello, World!");
}
}
算法2
{
public void Execute()
{
Console.WriteLine("你好, 世界!");
}
}
3. Spring调用端
{
public static void SayHello()
{
//从config文件中取得程序集信息
IApplicationContext context = ConfigurationManager.GetSection("spring/context") as IApplicationContext;
//调用方法
IStrategy alg = context.GetObject("algHello") as IStrategy;
alg.Execute();
}
4. 运行和替换
运行程序,结果是Hello, World
如果我们把算法配置换成
<object name="algHello" type="CsharpTrainer.Strategy.Hello.ChnHello, CsharpTrainer.Strategy">
</object>
结果将是: 你好, 世界
转载于:https://www.cnblogs.com/davidgu/archive/2012/05/30/2526440.html
Spring.NET依赖注入 - 制作可替换的算法相关推荐
- 据说,80%的人没有真正理解了Spring的依赖注入
前言 提起Spring,大家肯定不陌生,它是每一个Java开发者绕不过去的坎.Spring 框架为基于 java 的企业应用程序提供了一整套解决方案,方便开发人员在框架基础快速进行业务开发. 在官网中 ...
- factorybean 代理类不能按照类型注入_《Spring入门经典》:使用Spring进行依赖注入
第二章:使用Spring进行依赖注入 重点:配置并使用Spring容器 使用不同类型的配置元数据来配置Spring容器 理解依赖解析 了解自动装配的优缺点 在容器中执行显式Bean查找 学习不同的Be ...
- 在ABAP里模拟实现Java Spring的依赖注入
Dependency Injection- 依赖注入,在Java Spring框架中有着广泛地应用.通过依赖注入,我们不必在应用代码里繁琐地初始化依赖的资源,非常方便. 那么ABAP能否从语言层面上也 ...
- Spring Setter依赖注入示例
学习如何编写Spring Setter依赖注入示例 . Setter注入是Spring依赖注入的一种 . Spring支持字段注入,Setter注入以及构造函数注入,以将依赖项注入Spring托管的b ...
- Spring字段依赖注入示例
学习如何编写Spring Field Injection示例 . 字段注入是Spring框架 依赖注入的一种 . 在本教程中,我们将编写几个类,并看一看现场注入工程. 有关Spring依赖注入的更多信 ...
- Spring框架----Spring的依赖注入
1.spring的依赖注入的概念 依赖注入:dependency Injection IOC的作用:降低程序之间的依赖关系,但不是消除. 依赖关系的管理:以后都交给了spring来维护 在当前类中需要 ...
- Spring和依赖注入的价值
javaeye上看到有帖子,置疑spring和依赖注入的价值,回复内容整理如下: 依赖注入对设计有利,而spring则促进了依赖注入的使用. 如果业务处理类,它所使用的倚赖,都是依靠在这个类内部实现或 ...
- spring(一)依赖注入与 SPEL
Spring之依赖注入与 SPEL 一.控制反转与依赖注入 二.helloworld 三.构造注入 四.级联注入 五.单例与多例 六.工厂方法创建 Bean 七.包扫描管理 bean 八.SPEL与资 ...
- Spring实现依赖注入的几种方式
Spring实现依赖注入的几种方式 1.基于有参构造实现 <bean id="user" class="com.ccu.twj"><const ...
最新文章
- 使用选择器语法查找元素——​​​​​​​Selector选择器概述 ——未完待续
- DNN结构演进History—CNN( 优化,LeNet, AlexNet )
- javafx隐藏_JavaFX技巧14:StackPane子项-隐藏但不消失
- keras实现嘴唇图像autoencoder
- sql 查询表结构_SQL查询语句的完整结构解析
- visio中公式太小_串并联管道中调节阀的工作流量特性分析
- php表单的提交方法有什么,php – 确定哪个表单已提交的最佳方法是什么?
- Android的双进程守护,广播和双进程
- 数据抓取的艺术(一~三):Selenium+Phantomjs数据抓取环境配置
- 华三交换机配置DHCP中继
- Win7加密访问共享文件夹
- Android 选择图片、上传图片之PictureSelector
- 项目2-Time类中的运算符重载
- Oracle database TSPITR(TableSpace Point-In-Time Recovery) 表空间基于时间点的恢复
- 启用php client,RabbitMQ(二):安装 和 PHP Client
- 【C 语言小游戏】手打贪吃蛇1,闭关在家37天“吃透”这份345页PDF
- Java应用小技巧---label上的文字显示下划线
- excel熵值法计算权重_指标权重确定方法 1-熵值法
- 关于WMV DRM的移除
- 材料科学基础学习指导-吕宇鹏-名词和术语解释-第10章:材料概论
热门文章
- pandas怎么去除nan_pandas缺失值处理之——如何消去Nan值对数字型字符串数据类型的影响,让数字型字符串保持原始str类型,而不会自动变为float类型?...
- springboot16 整合MyBatis
- tcl如何获取键盘输入
- C语言---数字迷宫
- 基于hadoop构建对象存储系统_基于Hadoop企业私有云存储平台的构建
- python编程从入门到实战16章x轴刻度_PYTHON编程:从入门到实践之数据可视化
- pycharm 中文_环境搭建:3.pycharm社区版安装配置
- python目录和文件的基本操作_python学习笔记(七)——文件和目录操作
- -bash: vim: command not found 两种解决方法
- 最详细 Spring Boot 入门(-)