Spring.NET学习笔记6——依赖注入(应用篇) Level 300
2009-12-10 23:10
549 查看
谈到高级语言编程,我们就会联想到设计模式;谈到设计模式,我们就会说道怎么样解耦合。而Spring.NET的IoC容器其中的一种用途就是解耦合,其最经典的应用就是:依赖注入(Dependeny Injection)简称DI,目前DI是最优秀的解耦方式之一。下面我就来谈谈依赖注入的应用场景。
我模拟了三种不同的场景,可以一起学习使用依赖注入的重要性。
下面是应用场景的条件:人类使用工具劳动。
public abstract class Person
public interface ITool
public class Spear : ITool
public class PrimitivePerson : Person
public class Hoe : ITool
public static class ToolFactory
public class EconomyPerson : Person
public class Computer : ITool
public class ModernPerson : Person
class Program
{
{
IApplicationContext ctx = ContextRegistry.GetContext();
Person person = (Person)ctx.GetObject("modernPerson");
person.Work();
Console.ReadLine();
}
}
从上面代码我们可以看出,把对象交给Spring.NET容器进行管理,ModernPerson类不需要知道具体使用什么工具,仅仅是机械化的工作。至于使用的什么工具,则由配置文件决定,所有对象由Spring.NET容器管理,这样可以实现动态的拆装组建和组件重用。我个人理解依赖注入是反射工厂的加强版。
代码下载
^-^
我模拟了三种不同的场景,可以一起学习使用依赖注入的重要性。
下面是应用场景的条件:人类使用工具劳动。
public abstract class Person
public interface ITool
public class Spear : ITool
public class PrimitivePerson : Person
public class Hoe : ITool
public static class ToolFactory
public class EconomyPerson : Person
public class Computer : ITool
public class ModernPerson : Person
class Program
{
{
IApplicationContext ctx = ContextRegistry.GetContext();
Person person = (Person)ctx.GetObject("modernPerson");
person.Work();
Console.ReadLine();
}
}
从上面代码我们可以看出,把对象交给Spring.NET容器进行管理,ModernPerson类不需要知道具体使用什么工具,仅仅是机械化的工作。至于使用的什么工具,则由配置文件决定,所有对象由Spring.NET容器管理,这样可以实现动态的拆装组建和组件重用。我个人理解依赖注入是反射工厂的加强版。
代码下载
^-^
相关文章推荐
- Spring.NET学习笔记21——整合Web Service(应用篇) Level 200
- Spring.NET学习笔记19——整合NHibernate和ASP.NET MVC(基础篇) Level 300
- Spring.NET学习笔记20——整合Remoting(应用篇) Level 200
- Spring.NET学习笔记13——AOP的概念(基础篇) Level 200
- Spring.NET学习笔记1——控制反转(基础篇) Level 200
- Spring.NET学习笔记26——整合NVelocity(应用篇)
- Spring.Net对方法的注入(学习笔记三)
- Spring.NET学习笔记6——依赖注入(应用篇) Level 300
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
- Spring.NET学习笔记6——依赖注入(应用篇) Level 300
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
- MVC使用Spring.Net应用IOC(依赖倒置)学习笔记3
- Spring.NET教程(五)——依赖注入(应用篇)
- Spring.Net学习笔记四(IOC容器对象的作用域)
- Spring.NET学习笔记——目录(原)
- Spring.net 学习笔记二 依赖注入
- Spring.Net框架介绍及基本配置(学习笔记一)
- spring.net 学习笔记之 AOP (异常记录实例)转
- Spring.Net学习笔记(1)--IoC干什么的?
- 学习 ASP.NET AJAX深入浅出系列课程(21):利用Microsoft AJAX Library开发客户端组建(上)(Level 300)