Unity Application Block 3月12 发布的版本

3月12日,Unity 又发布了正式发布之前的版本,这个版本提供了安装程序.并且提供了一个依赖注入在实现方式:Setter injection 的配置API。之前发布的版本,属性注入需要用[Dependency], 这种设计Unity就侵入到你的组件了。现在可以通过ConfiguringInjection

例如StoplightPresenter依赖于Stoplight 和StoplightSchedule ,可以在属性打标签[Dependency],也可以去掉这个标记,然后在UnityContainer内通过配置API配置:

public class StoplightPresenter
 {
         private Stoplight stoplight;
         private StoplightSchedule schedule; 
        //[Dependency]
         public Stoplight Stoplight
         {
             get { return stoplight; }
             set { stoplight = value; }
         } 
       // [Dependency]
         public StoplightSchedule Schedule
         {
             get { return schedule; }
             set { schedule = value; }
         } 
        private IStoplightView view; 
…… 
} 

配置代码如下:

     IUnityContainer container = new UnityContainer()
                 .AddNewExtension<SimpleEventBrokerExtension>()
                 .RegisterType<ILogger, TraceLogger>()
                 .RegisterType<IStoplightTimer, RealTimeTimer>();
      container.Configure<InjectedMembers>()
                 .ConfigureInjectionFor<StopLight.Logic.Stoplight>(
                 new InjectionProperty("Logger")
                 ); 
     container.Configure<InjectedMembers>()
                 .ConfigureInjectionFor<StoplightPresenter>(
                 new InjectionProperty("Stoplight"),
                 new InjectionProperty("Schedule")
                 ); 

Unity Application Block虽然发展时间不长,主要是基于从企业类库2.0开始出现的ObjectBuilder发展而来,下一个微软Enterprise Library的版本V4——将预置支持依赖注入。依赖注入将通过容器以独立或作为库的一部分来提供。需要更深入的学习Unity Application Block,可看园子里的TerryLeedoriandengoverred的相关文章:

TerryLee的Unity Application Block

依赖注入容器Unity Application Block(1):快速入门
Enterprise Library 4.0中的依赖注入容器(Unity)预览

doriandeng的Unity

使用 Unity(一):Unity 应用程序块容器介绍

使用 Unity(二):配置 Unity 、读取配置信息和获取对象

使用 Unity Application Block(三):理解和使用依赖注入的键

Unity Feb 26 Weekly Drop

overred的 ① NET Framework  依赖注入容器Unity Application Block(2):Unity的春天 

顺便学习一下英语的还可以看: 

Unity Dependency Injection IoC Screencast

Unity IoC and ASP.NET MVC Framework - Dependency Injection of Controllers

Unity Nested Containers - IUnityParentContainer and CreateChildContainer

Unity IoC - February 26 Weekly Drop - LifetimeManagers TearDown Extensions and IDisposable

Using Unity and the ASP.NET MVC Preview 2

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏扎心了老铁

Linux Redis集群搭建与集群客户端实现

硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本:3.2.1 Redis已经成功安装,安装...

477130
来自专栏java学习

【干货来了】!Oracle及普通软件卸载详解!

电脑用的久了,里面的软件安装也会越来越多,但总有一些软件在使用过程中,甚至我们安装的过程中出现或多或少的问题,导致我们总是装了卸,卸了装(老实说,有时候纠结症都...

17110
来自专栏Linyb极客之路

使用lazyInit缩短Spring Boot启动时间

Spring Boot可以进行有助于相关针对项目的设置,包括最常见的默认设置和随时可用的配置,这无疑是很棒的,因为它节省了宝贵的时间 然而,对于框架的新手来说,...

1.5K70
来自专栏最新技术

使用Eclipse MicroProfile(更新版)构建您的下一个微服务

本快速教程将向您展示如何使用最新版本的Eclipse MicroProfile API构建您的下一个微服务。这是一篇基于以前John D Ament 的文章的修...

95620
来自专栏写代码的海盗

spark 在yarn执行job时一直抱0.0.0.0:8030错误

近日新写完的spark任务放到yarn上面执行时,在yarn的slave节点中一直看到报错日志:连接不到0.0.0.0:8030 。 1 The logs ar...

34850
来自专栏吴生的专栏

SpringBoot整合RabbitMQ之典型应用场景实战一

实战前言 RabbitMQ 作为目前应用相当广泛的消息中间件,在企业级应用、微服务应用中充当着重要的角色。特别是在一些典型的应用场景以及业务模块中具有重要的作用...

15800
来自专栏小狼的世界

使用PHP脚本来写Daemon程序

这又是一个有趣的概念,daemon在英语中是"精灵"的意思,就像我们经常在迪斯尼动画里见到的那些,有些会飞,有些不会,经常围着动画片的主人公转来转去,啰里啰唆地...

16720
来自专栏杂烩

SSM项目搭建之MyBatis 原

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了goog...

8720
来自专栏区块链

20种功能强大的跨平台渗透测试工具

什么是渗透测试?用来测试软件是否存在例如安全方面的漏洞,如果已经存在,会不会被入侵。 渗透测试流程: 1、列出软件或系统潜在的安全漏洞。 2、根据漏洞的严重性进...

28070
来自专栏张善友的专栏

支持Visual Studio 2008和.NET 3.5的企业类库4.0

企业类库4.0(EntLib 4)发布了,采用的是Microsoft Public License (Ms-PL)协议发布,和之前的版本的相比较更开放,微软的各...

18690

扫码关注云+社区

领取腾讯云代金券