20120904

控制反转与依赖注:

   写一个对象集合,对于相似对象的实现,可以在一个方法(1)里实现每一个,但是缺点就是添加一个新的事物需要打开源代码进行修改,并且很多都是重复的;因此提出了多态(2)。但是对于一些东西还是有些重复,在C#中利用接口,提出了依赖注入(3);

  依赖注入(Dependency Injection),是这样一个过程:由于某客户类只依赖于服务类的一个接口,而不依赖于具体服务类,所以客户类只定义一个注入点。在程序运行过程中,客户类不直接实例化具体服务类实例,而是客户类的运行上下文环境或专门组件负责实例化服务类,然后将其注入到客户类中,保证客户类的正常运行。

  对于依赖注入,需要客户类被动接受所依赖的服务类,进而提出利用XMAL配置文件控制对象类型的依赖获取(4);

  依赖获取(Dependency Locate)是指在系统中提供一个获取点,客户类仍然依赖服务类的接口。当客户类需要服务类时,从获取点主动取得指定的服务类,具体的服务类类型由获取点的配置决定。

对于添加新的组件的时候,需要添加一系列新组件实现文件,同时在类型控制类中修改源代码,因此出现了依赖反射(5)进行对象的动态生成

 

内容参见http://www.cnblogs.com/leoo2sk/archive/2009/06/17/1504693.html

转载于:https://www.cnblogs.com/Caius/archive/2012/09/04/2670484.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值