Unity學習系列一簡介
一、簡介
Unity的目標是為了提升”依賴注入”的思想,去建立更加鬆耦合的系統.patterns & practices 小組在那個時候實現DI的方式和我們現在認為的DI有所不同,DI不是單一的可重複使用的容器,而是應該專門用於正在使用它的系統.
我們使用一個叫做ObjectBuilder的類庫(一個用於建立DI容器的框架),所以,理論上我們可以為我們的每一個專案建立一個容器,這正是我們想要做的.理想很美好,但是它工作的並不是很好,ObjectBuilder是一個高度解耦、抽象的,使用它必須手動組裝它,再加上缺乏文件,花了很多時間瞭解需要去哪裡,以及如何將其整合到有用的東西中去,而這些時間花在了編寫、除錯和優化DI容器上,而不是在實際的專案需求上工作上。有趣的是當有人想要引用CAB(它使用了一個基於一個版本的DI容器ObjectBuilder)和企業圖書館(基於不同版本的ObjectBuilder)在同一個專案中。整合將會變得非常困難。光光在同一個專案中處理兩個不同的版本ObjectBuilder,也是一個不小的挑戰。還有一次性的容器導致了一次性的可擴充套件性和整合介面:在企業庫中沒有用的在CAB中也沒有用。
當我們在Web客戶端軟體工廠專案的末尾又花了一個星期的時間修復了CWAB中的一堆bug:(這些bug和在CAB中的非常相似),所以為什麼不用一個容器實現,代替重複的實現一個又一個的容器。
由此產生的挫折感使人們團結起來。EnterpriseLibrary 4.0團隊將依賴注入應用程式塊(最初稱為Unity)放在產品待辦事項上。,我們對於Unity這個專案的目標很簡單,。首先,向我們的社群引入並推廣依賴注入的概念,不受許多低階別實現細節的限制。第二,有一個具有易於使用API的核心容器,我們、Microsoft的其他團隊或任何組織不願意使用可用的開源專案的人(無論出於什麼原因)都可以使用這些API。第三,有多種擴充套件機制,這樣任何人都可以新增新功能,而不必開啟核心程式碼。
在我看來,Unity在所有這些目標上都取得了成功。我對我們如何影響.NET開發人員社群感到特別自豪。Unity很快成為.NET生態系統中最常用的DI容器之一.更重要的是,DI不再是”專家技術”,而是主流的一部分,甚至是微軟自家的框架(ASP. NET MVC and WebAPI)均來自DI的支援.你得知道,一個概念(依賴注入)變成一個核心觀點,Unity發揮了很大的作用.
二、使用Unity的條件
1、支援的架構:x86和x64.·
2、作業系統:Windows 8、Windows 7、Windows Server 2008 R2、Windows Server 2012。·
3、支援的.NET框架:Microsoft.NET Framework 4.5、.NET for Windows Store應用程式(以前稱為WinRT)。·
4、支援的開發環境:MicrosoftVisualStudio 2012、專業版、終極版或速成版。
可以使用VisualStudio中的NuGet包管理器在專案中安裝統一程式集。
相關文章
- 強化學習系列(1):簡介強化學習
- .Net 下 Solr 入門學習系列(一)Solr簡介Solr
- TensorFlow系列專題(三):深度學習簡介深度學習
- unity學習筆記(一)Unity筆記
- 機器學習簡介機器學習
- 隨機學習簡介隨機
- Java學習:JDBC簡介JavaJDBC
- 強化學習-簡介強化學習
- unity學習Unity
- 【機器學習】機器學習簡介機器學習
- Dart語言學習筆記(一) —— Dart簡介Dart筆記
- Azure Storage 系列(一)入門簡介
- unittest系列(一)unittest簡介和示例
- RxJS 系列之一 – Functional Programming 簡介JSFunction
- gcc簡介(學習筆記)GC筆記
- 元學習簡單介紹
- 3、Ktor學習-ApplicationCall簡介;APP
- Tensorflow 深度學習簡介(自用)深度學習
- MDN之學習 Web 開發(一)【Web API簡介】WebAPI
- Shiro系列教程之一Shiro簡介
- Spring Security系列教程之一簡介Spring
- MuJoCo 學習筆記:簡介 Overview筆記View
- 貝葉斯深度學習簡介深度學習
- 深度學習基本概念簡介深度學習
- python基礎學習-socket簡介Python
- Go語言學習(1) - 簡介Go
- Unity引擎與C#指令碼簡介UnityC#指令碼
- Terraform 系列-Terraform 簡介ORM
- Spring系列.Bean簡介SpringBean
- 【機器學習基礎】半監督學習簡介機器學習
- Spring Cloud系列(一):微服務架構簡介SpringCloud微服務架構
- 機器學習基本概念簡介機器學習
- 《Python機器學習實踐》簡介Python機器學習
- 人工智慧-機器學習簡介人工智慧機器學習
- Burp Suite學習記錄1 - 簡介UI
- SpringCloud學習筆記:SpringCloud簡介(1)SpringGCCloud筆記
- 《Python深度學習從零開始學》簡介Python深度學習
- Flutter學習系列(一)—mixinsFlutter