unity是patterns & practices團隊開發的乙個輕量級、可擴充套件的依賴注入容器,具有如下的特性:
它提供了建立(或者裝配)物件例項的機制,而這些物件例項可能還包含了其它被依賴的物件例項。
unity允許將預先配置的物件注入到類中,實現了inversion of control (ioc)的功能。在unity中,支援constructor injection(構造器注入), property setter injection(屬性設值注入)以及method call injection(方法注入)。ps:這裡的方法注入與martin fowler定義的介面注入類似而稍有區別。
支援容器的體系結構。乙個容器可以有子容器,允許從子容器到父容器的物件定位查詢。
可以通過配置檔案進行準備和配置容器。
不會影響到類的定義(屬性設值注入和方法注入除外),這也是輕量級容器的乙個體現。
支援自定義的容器擴充套件。
ioc(inversion of control),中文譯為控制反轉,又稱為「依賴注入」(di =dependence injection)
ioc的基本概念是:不建立物件,但是描述建立它們的方式。在**中不直接與物件和服務連線,但在配置檔案中描述哪乙個元件需要哪一項服務。容器負責將這些聯絡在一起。 所有的元件初始化和呼叫都由容器負責。元件處在乙個容器當中,由容器負責管理。
簡單地說,就是應用本身不負責依賴物件的建立和維護,而是將其交給乙個外部容器來負責。這樣控制權就由應用轉移到了外部ioc 容器,即控制權實現了所謂的反轉。比如在型別a 中需要使用型別b 的例項,而b 例項的建立並不由a 來負責,而是通過外部容器
來建立。通過ioc 的方式實現針對目標controller 的啟用具有重要的意義。
使用vs自帶工具,nuget管理器進行安裝,如圖所示。
ilogger log = container.resolve();文章出處:
unity學習筆記1
unity後面作為遊戲。什麼我就不說了unity進入之前會有乙個3d和2d視角的選擇,3d就選3d,2d就選2d,這個沒有什麼說的。選單項我們先不管,有四個視窗 他們分別是scene,hierarchy,game,project視窗。game視窗就是你模擬遊戲執行時看到的視窗 scene視窗是你實時...
Unity學習筆記 1
assets 資源 模型,檔案,聲音資源,指令碼 library 庫 shader 內建指令碼 快取檔案 projectsetting 工程設定 各種各樣的設定,例如聲音設定,開啟工程按此 temp 臨時資料夾 臨時檔案存放處,關閉unity刪除其檔案 scene gameobject遊戲物體 元件...
Unity學習筆記(1)
transform transform是gameobject的乙個預設的元件,其包含著該物件的幾種屬性,座標 position 以及旋轉角度 rotation 和尺寸 scale transform的子物件 transform.position 型別為vector3,其值為該物件的世界座標值 tra...