验证Unity依赖注入的对象是否为同一个实例
来源:互联网 发布:淘宝客优惠券采集插件 编辑:程序博客网 时间:2024/06/05 05:48
在使用Unity的时候,能够很好的解耦,解除层与层之间的依赖性。这里有一个问题,每次向Unity中要对象实例的时候,这时候给出的是同一个吗?还是每次都是new一个新的?我来写代码验证一下。怎么验证两个对象是否为同一个呢,看这个对象在内存中的地址就行了,通过Hash码查看就可以。
namespace UnityApplication{ public interface IService { string Show(); }}namespace UnityApplication{ public class Service : IService { public Service() { Console.WriteLine("<<<<<<<<<<<<<<"); } public string Show() { return "Hello"; } }}namespace UnityApplication{ class Program { static void Main(string[] args) { IUnityContainer container = CreateUnityContainerExe(); IService service = container.Resolve<IService>(); string result = service.Show(); Console.WriteLine("''''''''''" + result + "llllllll" + service.GetHashCode()); IService service2 = container.Resolve<IService>(); Console.WriteLine("lllllllllll" + service2.GetHashCode()); Console.ReadLine(); } public static IUnityContainer CreateUnityContainerExe() { return CreateUnityContainer(ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)); } private static IUnityContainer CreateUnityContainer(Configuration configuration) { return InitializeContainer(configuration); } private static IUnityContainer InitializeContainer(Configuration configuration) { var result = new UnityContainer(); foreach (var section in configuration.Sections) { var unityConfigurationSection = section as UnityConfigurationSection; if (unityConfigurationSection != null) { result.LoadConfiguration(unityConfigurationSection); } } return result; } }}
需要在配置文件中,配置相应的类与映射关系
<?xml version="1.0"?><configuration> <configSections> <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/> </configSections> <unity> <container> <register type="UnityApplication.IService, UnityApplication" mapTo="UnityApplication.Service, UnityApplication"> </register> </container> </unity> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/> </startup></configuration>
最终运行的时候,你会发现控制台输出的哈希地址根本就是不一样的,说明不是同一个实例,对象的地址根本不同,每次都会new一个新的。
0 0
- 验证Unity依赖注入的对象是否为同一个实例
- Microsoft.Practices.Unity依赖注入使用实例
- 注入依赖对象的方式
- java中判断两个对象是否为同一个对象。
- 依赖注入容器Unity的基础知识
- 微软的依赖注入容器,Unity
- 比较两个实例是否为同一对象的实例化
- Unity Application Block 1.0系列(5): 使用BuildUp让已存在对象实例也支持依赖注入
- unity实现依赖注入
- 微软依赖注入Unity
- C# Unity依赖注入
- java 验证包含属性的对象是否全部为空
- 依赖注入是否值得
- Spring的IOC依赖注入实例
- LINK - MvvmCross依赖注入的实例化
- 依赖注入之Bean的实例化
- 验证表单元素是否为空-实例
- java 判断对象是否为某个类的实例
- 写的一些推广方法 拿出来分享下
- 百度搜索策略更新后,为什么网站降权的总是你
- 有关Android代码
- HDU-4832-Chess(DP)
- UnsatisfiedLinkError
- 验证Unity依赖注入的对象是否为同一个实例
- 构造方法
- json解析数据详解
- Elegant fibonacci numbers again
- Bluetooth in Android 4.2 and 4.3:Scan remote devices
- 局部敏感哈希(Locality-Sensitive Hashing, LSH)方法介绍
- 先说点开场白吧
- Multiple dex files define
- linux nohup命令