程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 使用 Unity(一):Unity 應用程序塊容器介紹

使用 Unity(一):Unity 應用程序塊容器介紹

編輯:.NET實例教程
Microsoft 的 P&P 團隊在 12 日發布了 Unity 的社區預覽版,大家可以在 Unity 的站點上查看它的最新信息。

從今天開始,我將和大家一起來學習這個控制反轉(Inversion of Control, IoC) 和依賴注入(Dependency Injection, DI) 容器的使用。關於 IoC 和 DI,大家可以參考 Martin  Fowler 著的《IoC 容器和 Dependency Injection 模式》。

描述

Unity 應用程序塊(Unity)是一個輕量級、可擴展的依賴注入容器,支持構造函數、屬性和方法調用注入。它為開發人員提供了如下好處:

  • 簡化了對象的創建,尤其是分層的對象結構和依賴。
  • 允許開發人員在運行時或者配置中指定依賴的需求抽象,以及簡化了橫切關注點的管理。
  • 服務定位功能允許客戶代碼保存或者緩存容器。這在開發人員可以持久化容器到 ASP.NET Session 或者 Application 中的 ASP.Net Web 應用程序中特別有用。

常見場景

除了單獨解決橫切關注點如日志、認證、授權、緩存和異常處理的組件以外,現代業務系統通常由定制的業務對象和在應用程序中完成特殊的或者一般的任務的組件組成。

成功構建這樣的應用程序的關鍵是獲得解耦的或者極度松耦合的設計。松耦合的應用程序更加靈活、更加易於維護。同時在開發期間進行測試,可以模擬對象的樁(輕量級模擬的實現),這增強了實質的依賴。例如,數據庫連接、網絡連接、ERP 連接和富用戶接口組件。

依賴注入是一種用於構建松耦合應用程序的主要技術。它提供了處理對象間依賴的方法。例如,一個處理用戶信息的對象可能依賴於訪問數據存儲、驗證信息和檢查 用戶是否被授權執行更新的其他對象。依賴注入技術可以確保用戶類正確的初始化及組裝所有這些對象,特別是依賴是抽象的地方。

使用容器可以有很多好處,但它會改變應用程序的設計方式,尤其適合於基於組件的開發,朋友們可以有選擇的使用它。

最基本的代碼

下面的代碼展示了 Unity 容器的最基本的使用方法。


IUnityContainer myContainer = new UnityContainer();
myContainer.Register<IMyObject, MyRealObject>();
IMyObject myRealObjectInstance = myContainer.Get<IMyObject>();

 

 在上面的代碼中,

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