您的位置:首页 > 移动开发 > Unity3D

Introduction to dependency injection with unityContainer

2015-02-16 05:22 531 查看
/* By Dylan SUN */

This article is just a simple introduction to unityContainer.

If you have already used unityContainer as a dependency injection or IoC (Inversion of control) library, this article is not for you.

As you know, dependency injection is a design pattern to prevent the code coupling.

For example, you access class CA’s method MA in several places in your application. If one day you need to use class CB instead of class CA. You need to replace all the code referencing class CA with class CB.

But if you use dependency injection, you just need to register the interface and its implementation class once. You can resolve the interface when you need to access method CA.

Here is an sample usage of unityContainer:

Firstly, create an instance of UnityContainer.

//register interface and its implementation
IUnityContainer container = new UnityContainer();


Register the interface and its implementation class.

container.RegisterType<IConfigurationReader, ConfigurationReader>();


Resolve the interface.

var configurationReader = container.Resolve<IConfigurationReader>();


Access to method :

var value = configurationReader.GetAppSettings("hello");


In this way, you won’t need to create any instance of a specific class. The code is more maintainable.

I hope you find this article helpful!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: