写这篇入门教程的原因是,发觉国内很少有介绍Unity 2.0的文章,大部分是介绍Unity 1.0的,相对比较旧了,而2.0和1.0存在多多少少的差别,如一些配置符在2.0被除去了,要学习2.0就只能从英文的网站获得,基于能更好地带大家入门,所以就写一篇简单的教程。

   教程流程

      (1)IOC介绍。

     (2)布局项目。

     (3)安装Unity 2.0、引入到项目中。

     (4)配置信息。

     (5)加载容器。

     (6)项目使用。

     (7)结语。

 

一、IOC介绍。

   IOC(Inversion of Control)

  中文译为控制反转

  又称为“依赖注入”(DI =Dependence Injection)

  IOC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。

  其原理是基于OO设计原则的The Hollywood Principle:Don't call us, we'll call you(别找我,我会来找你的)。也就是说,所有的组件都是被动的(Passive),所有的组件初始化和调用都由容器负责。组件处在一个容器当中,由容器负责管理。

  简单的来讲,就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。

二、布局项目。

  由于我比较爱好web开发,所以我就建一个WebForm的Deom项目来演示,布局结构很简单,主要是为了大家能更好地理解这个使用流程。

项目总体架构图

 

【原】(一)Unity 2.0 IOC容器入门教程

Default.aspx页面

【原】(一)Unity 2.0 IOC容器入门教程

IPeople接口

【原】(一)Unity 2.0 IOC容器入门教程

 

 

IWeapon接口

【原】(一)Unity 2.0 IOC容器入门教程

 

 

具体的Gun类

 【原】(一)Unity 2.0 IOC容器入门教程

具体的Sword类
 

【原】(一)Unity 2.0 IOC容器入门教程

 

具体的ChinesePeople类
【原】(一)Unity 2.0 IOC容器入门教程


具体的BackPeople类
【原】(一)Unity 2.0 IOC容器入门教程


三、安装Unity 2.0、引入到项目中。

  到微软下载Unity 2.0或者可以去其他提供下载的网站下载,安装过程我就不截图解释了。把所需要的库添加到项目下,我们需要的是Microsoft.Practices.Unity和Microsoft.Practices.Unity.Configuration两个库,右击添加引用。

Untity 2.0下载http://www.microsoft.com/downloads/details.aspx?FamilyId=2d24f179-e0a6-49d7-89c4-5b67d939f91b&displaylang=en

  

【原】(一)Unity 2.0 IOC容器入门教程

四、配置信息。

大致的配置我直接上图,再一一简要解释。

 【原】(一)Unity 2.0 IOC容器入门教程

 

 

这里要注意的是,Version=版本一定要和你下载的库的版本一致,不然是不能成功生成容器的。我使用的是2.0.414.0版本的库,所以这里的Version=2.0.414.0 一定要看清楚!

 

【原】(一)Unity 2.0 IOC容器入门教程

    这里主要作用就绑定了具体对象的引用关系,也是IOC容器的作用,把变化隔离出程序,转由外部文件负责,降低了程序的维护成本。提示:这段配置我是放在web.config里面,你用XML配置也可以,都一样。

 

    而具体的标签作用我就不多解释了,2.0的标签已经做到很人性化,如果实在不懂,就请耐心研究帮助文档,不过暂时没有发现有中文版。

Unity 2.0 英文帮助文档下载地址:http://unity.codeplex.com/releases/view/31277


五、加载容器。

添加Global.asax文件,具体里面的内容如下截图。

【原】(一)Unity 2.0 IOC容器入门教程

 

六、项目使用。

具体code-behind代码Default.aspx.cs

【原】(一)Unity 2.0 IOC容器入门教程

 

具体运行Default.aspx页面效果

 

【原】(一)Unity 2.0 IOC容器入门教程

点击了中国人按钮响应效果
【原】(一)Unity 2.0 IOC容器入门教程

点击了黑人按钮响应的效果
【原】(一)Unity 2.0 IOC容器入门教程

 

七、结语。

  希望这个简单的教程能对你有所帮助,教程的源码我有保留,有需要的朋友可以HI我,或者留言,留下邮箱也OK。最后我希望能结识热爱交流技术的朋友,本人创建的技术交流群:9202507 欢迎你的加入!

 

 

相关文章:

  • 2021-06-05
  • 2021-11-16
  • 2021-12-30
  • 2021-07-27
  • 2022-03-01
猜你喜欢
  • 2022-01-09
  • 2022-02-05
  • 2022-12-23
  • 2021-12-10
  • 2021-10-12
  • 2021-05-28
  • 2021-07-10
相关资源
相似解决方案