程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Unity(二):Unity是什麼?

Unity(二):Unity是什麼?

編輯:關於.NET

在之前的 Unity(一):從ObjectBuilder說起 一文中,介紹了Unity的底層框架ObjcetBuilder。同時我稍微也提了一句:他們(patterns & practices)再次犯了拖期的老毛病(說句公道話,這個毛病當屬其中的Enterprise Library團隊最為突出)。沒想到,今天看到Unity的掌門Grigori說:Unity release date is moved to April 7。又有得等了:)

實在不想針對目前的不穩定版本做介紹,主要是看到3月12號的版本比一個月前的CTP有了很大的改動,怕了!不想等正式版出來之後,目前的介紹中的代碼編譯一下n多錯誤——如果不徹頭徹尾的改一遍的話。這裡有篇文章介紹了這兩個版本之間的改動:IoC Container, Unity and Breaking Changes Galore。Huh!之前TerryLee也有一篇介紹的文章:依賴注入容器Unity Application Block(1):快速入門,是針對2月的CTP的,嗯,沒錯,他的示例代碼中用到的API現在都變了...

不過,在這個時候做一些總體性的介紹還是合適的,畢竟大的方向已經不會變的。嗯,至少我是這麼想的...

Unity是什麼?

Unity是patterns & practices團隊開發的一個輕量級、可擴展的依賴注入容器,具有如下的特性:

1. 它提供了創建(或者裝配)對象實例的機制,而這些對象實例可能還包含了其它被依賴的對象實例。

2. Unity允許將預先配置的對象注入到類中,實現了inversion of control (IoC)的功能。在Unity中,支持constructor injection(構造器注入), property setter injection(屬性設值注入)以及method call injection(方法注入)。ps:這裡的方法注入與Martin Fowler定義的接口注入類似而稍有區別。

3. 支持容器的體系結構。一個容器可以有子容器,允許從子容器到父容器的對象定位查詢。

4. 可以通過配置文件進行准備和配置容器。

5. 不會影響到類的定義(屬性設值注入和方法注入除外),這也是輕量級容器的一個體現。

6. 支持自定義的容器擴展。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved