摘要: 本文的目的在于通过一些示例,向大家说明 My.Ioc 支持哪些类型的依赖关系。也就是说,如何设计对象不会导致循环依赖。在 Ioc 世界中,循环依赖是一个顽敌。这不仅因为它会导致 Ioc 容器抛出异常,而且还因为它是不可预知的,尽管通过仔细的配置是可以尽量避免这个问题的。当我们在 Ioc 容器中注册对... 阅读全文
posted @ 2014-09-11 20:07 Johnny.Liu 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 装饰器模式体现了一种“组合优于继承”的思想。当我们要动态为对象增加新功能时,装饰器模式往往是我们的好帮手。很多后期出现的 Ioc 容器都为装饰器模式提供了支持,比如说 Autofac。在 My.Ioc 中,默认不提供装饰器支持,但我们可以自己进行扩展,以提供此项功能。using System;usi... 阅读全文
posted @ 2014-09-11 16:44 Johnny.Liu 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 在 My.Ioc 中,我们可以指定让容器在构建好对象实例之后,自动为我们调用对象的公共方法或是为对象的公共属性赋值。在解析对象实例时,容器将根据我们在注册对象时指定的方法调用或属性赋值的先后顺序,调用对象的实例方法或为其属性赋值。用法比较简单,请看下面的示例代码:using System;using... 阅读全文
posted @ 2014-09-11 11:08 Johnny.Liu 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 在 Ioc 世界中,有些框架(例如 Autofac/NInject/Unity)支持传递默认参数,有些框架(例如 SimpleInjector/LightInjector 等)则不支持。作为 My.Ioc 来说,我们支持默认参数。当我们在 My.Ioc 中注册对象时,有些对象类型 (System.T... 阅读全文
posted @ 2014-09-11 10:35 Johnny.Liu 阅读(572) 评论(0) 推荐(0) 编辑