Spring.NET學習筆記11——自定義對象行爲(基礎篇)

  Spring.NET通過幾個專門的接口來控制容器中對象的行爲。說到對象的行爲無非就要提到對象的生命週期控制。類似在WinForm開發,Form生命週期中,Load方法爲Form的載入方法和Dispose方法爲Form的銷燬方法。Spring.NET都能完美的實現這些需求。   

  

  一、生命週期接口
  在使用Spring.NET框架的時候通常遇到怎樣初始化和銷燬非託管資源(如數據庫連接)的麻煩,下面的解決方案可能對您有所幫助。
  1.初始化行爲
  繼承Spring.Objects.Factory.IInitializingObject接口或者配置object節點的init-method屬性,Spring.NETIoC框架就會幫我們在該對象被實例後調用配置好的初始化方法。
  2.銷燬行爲
  繼承System.IDisposable接口或者在object節點配置destroy-method屬性,Spring.NET會幫我們在容器被銷燬時調用它。

  實現代碼:

 

 

  二、抽象對象定義和子對象定義

  對象定義可能會包含大量的信息,比如與容器相關的信息(即初始化方法、靜態工廠方法名等)、構造器參數和屬性值等。子對象定義是指從一個父對象定義中繼承了配置數據的對象定義。子對象定義可以根據需要重寫或添加某些配置的值。使用父對象和子對象的定義方式可能會節省大量的鍵入工作。實際上這是設計模式中模板模式的一種形式。個人認爲可以解決“子類”與“父類”之間的耦合。
  在object節點中設置parent屬性來指明是繼承關係,而並非正真意義的繼承。

  實現代碼:

 

 

 

  我們可以看出Child類並沒有繼承Parent類。

 

  輸出效果:

 

  參考Spring.NET中文手冊

 

  代碼下載

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章