惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
IT之家
IT之家
博客园 - 聂微东
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed
人人都是产品经理
人人都是产品经理
PCI Perspectives
PCI Perspectives
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
V
Vulnerabilities – Threatpost
美团技术团队
S
Secure Thoughts
N
News | PayPal Newsroom
L
LINUX DO - 最新话题
腾讯CDC
Application and Cybersecurity Blog
Application and Cybersecurity Blog
雷峰网
雷峰网
B
Blog
MyScale Blog
MyScale Blog
T
The Blog of Author Tim Ferriss
TaoSecurity Blog
TaoSecurity Blog
N
News and Events Feed by Topic
Blog — PlanetScale
Blog — PlanetScale
C
Check Point Blog
T
Tailwind CSS Blog
月光博客
月光博客
Simon Willison's Weblog
Simon Willison's Weblog
Hacker News: Ask HN
Hacker News: Ask HN
The Last Watchdog
The Last Watchdog
Google DeepMind News
Google DeepMind News
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
MongoDB | Blog
MongoDB | Blog
S
Security @ Cisco Blogs
Jina AI
Jina AI
Engineering at Meta
Engineering at Meta
S
Security Affairs
Forbes - Security
Forbes - Security
P
Palo Alto Networks Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
T
Tor Project blog
O
OpenAI News
L
Lohrmann on Cybersecurity
Security Archives - TechRepublic
Security Archives - TechRepublic
P
Proofpoint News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LangChain Blog
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More

博客园 - 赤脚小子

Workflow WF Reference Links for 2009-03-20 Workflow WF Reference Links for 2009-03-06 Workflow WF Reference Links for 2009-02-20 Workflow WF Reference Links for 2009-02-13 Workflow WF Reference Links for 2009-02-06 Workflow WF Reference Links for 2009-02-01 Workflow WF Reference Links for 2009-01-16 Workflow WF Reference Links for 2009-01-09 Workflow WF Reference Links for 2008-12-30 WF书籍导读(完整版) WF书籍推荐 Unity(七):使用场景Ⅲ:用于依赖注入(下) Unity系列目录 Unity(六):使用场景Ⅲ:用于依赖注入(上) Unity(五):使用场景Ⅱ:用于单例模式 Unity(四):使用场景Ⅰ:建立类型映射 Unity(二):Unity是什么? Unity(一):从ObjectBuilder说起 Exception Management in .NET阅读笔记
Unity(三):快速入门
赤脚小子 · 2008-04-08 · via 博客园 - 赤脚小子

Microsoft patterns & practices 终于发布了Unity,可以从这里下载,同时可以参见Unity的老大Grigori Melnik发布说明,不过比下载页面也没多什么信息。

最近patterns & practices团队采用了一种新的文档发布模式,就是Release版本的产品在发布的同时,将产品文档同步到msdn中。这样的话,如果你只想先了解下产品,或者先了解再决定是否安装的话,可以先在msdn上浏览,而不必安装->看文档->卸载。 

在这里,首先给出一个简单使用Unity的简单示例。通过示例,让我们对Unity的使用有一个初步的认识和了解。在接下来的文章中,我会展开做详细的介绍和分析。如果对Unity是还一点概念也没有的话,可以参考我前面的两篇文章:Unity(一):从ObjectBuilder说起Unity(二):Unity是什么?

本示例主要展示了Unity在type mapping方面的一个基本应用。

使用Unity,最基本步骤有三步。

1. 建立容器;

2. 将接口与类的映射注册到容器中;

3. 从容器中解析出正确的对象。

为了接下来的说明,我们先编写几个后面需要的接口和类:

Step0. 准备工作

ILogger接口:

image    

ConsoleLogger类:

image   

NullLogger类:

image

Step1. 创建容器

在Unity中创建容器实例最简单的方法是直接使用构造函数创建,如下代码所示:

IUnityContainer container = new UnityContainer();

Step2. 注册接口映射

在Unity中提供了一组Register方法供我们在容器中注册接口映射,如下代码所示:

container.RegisterType<ILogger, ConsoleLogger>();

Step3. 获取对象实例

在Unity中提供了一组Resolve方法用以获取对象实例,如下代码所示:

ILogger logger = container.Resolve<ILogger>();

OK,就这么简单!

测试:

image

场景一:注册一个ConsoleLogger作为ILogger的实现到容器中,然后从容器中解析ILogger的实现,并调用ILogger的Log方法。

image

结果:

image

场景二:注册一个NullLogger作为ILogger的实现到容器中,然后从容器中解析ILogger的实现,并调用ILogger的Log方法。

image

结果:

image