Unity是一個IOC容器,用來實作依賴注入(Dependency Injection,DI),減少耦合的,Unity出自于的微軟,在.NET上是內置在VS上的,直接在Nuget程式包內安裝unity即可,

看看Unity能做些什么,列舉部分如下:
1.Unity支持簡單物件創建,特別是分層物件結構和依賴,以簡化程式代碼,其包含一個編譯那些可能存在依賴于其他物件的物件實體機制,
2.Unity支持必要的抽象,其允許開發者在運行時或配置去指定依賴關系同時可以簡單的管理橫切點(AOP),
3.Unity增加了推遲到容器組件配置的靈活性,其同樣支持一個容器層次的結構,
4.Unity擁有服務定位能力,對于一個程式在許多情況下重復使用組件來分離和集中功能是非常有用的,
5.Unity允許客戶端儲存或快取容器,對于在ASP.NET Web applications中開發者將容器持久化于ASP.NET中的session或application中特別有效,
6.Unity擁有攔截能力,其允許開發者通過創建并執行handlers(在方法或屬性被呼叫到達之前)來為已存在的組件增加一個函式,并再次為回傳呼叫結果,
7.Unity可以從標準配置系統中讀取配置資訊,例如:XML檔案,同時使用組態檔來配置容器,
8.Unity支持開發者實作自定義容器擴展,例如:你可以實作方法來允許額外的物件構造和容器特征,例如快取,
9.Unity允許架構師和開發者在現代化的程式中更簡單的實作通用設計模式,
我們專案中什么時候要使用到Unity呢,如下情況:
1.所構建的系統依賴于健全的面向物件原則,但是大量不同的代碼交織在一起而難以維護,
2.構建的物件和類需要依賴其他物件或類,
3.依賴于復雜的或需要抽象的物件,
4.希望利用建構式、方法或屬性的呼叫注入優勢,
5.希望管理物件實體的生命周期,
6.希望能夠在運行時管理并改變依賴關系,
7.希望在攔截方法或屬性呼叫的時候生成一個策略鏈或管道處理容器來實作橫切(AOP)任務,
8.希望在Web Application中的回發操作時能夠快取或持久化依賴關系,
至于如何使用,請看下次分享,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/264815.html
標籤:其他
上一篇:了解作業系統(OS)
