随笔 - 32,  文章 - 0,  评论 - 96,  阅读 - 10万

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

posted on   赤脚小子  阅读(10610)  评论(14编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2008年4月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10

点击右上角即可分享
微信分享提示