Caliburn筆記 依賴注入容器 wpf框架

2021-05-21 18:43:44 字數 1064 閱讀 2992

參考與此http://caliburn.codeplex.com/wikipage?title=auto-registering%20components&referringtitle=documentation

此為基礎,看了沒用,不看不行…了解下註冊流程.

註冊元件,差不多離不開這幾種模式

手動註冊

元資料標籤註冊

外部dll載入註冊

1.內建服務則用手動註冊.

2.掛元資料標籤,如下

[perrequest(typeof(ihomepresenter))]

public class

homepresenter : presenter, ihomepresenter

以前不是推薦此種做法的,標籤會產生框架耦合,但框架用都用了,內建demo使用此方法最多,之前用的是手動註冊,框架會去dll中尋找掛此標籤的物件然後自動註冊.

3.外部dll載入

protected override system.reflection.assembly selectassemblies()

private void inspectassembly(assembly assembly, icollection

componentlist, icollection

configs)

foreach (var type in types)

}

總的來說,我們只要載入dll,掛上標籤就可以自動註冊了

內建服務+自定義服務註冊好以後,接下來的任務就是註冊例項.即元件的生命週期狀況.內建都為singleton

/// /// 

the lifetime of a caliburn component.

///

public enum

componentlifetime

可以通過重寫configurewith方法,使用第三方容器來註冊服務,當然其內建也提供了乙個較為簡單的容器

新版本可能會更新,所以不去研究它了

Caliburn筆記 依賴注入容器 wpf框架

參考與此 此為基礎,看了沒用,不看不行 了解下註冊流程.註冊元件,差不多離不開這幾種模式 手動註冊 元資料標籤註冊 外部dll載入註冊 1.內建服務則用手動註冊.2.掛元資料標籤,如下 perrequest typeof ihomepresenter public class homepresent...

依賴注入筆記

依賴注入 假設當前有乙個使用者名叫bowman,bowman每天做三件事,看書,玩遊戲,抓寵物。bowman需要使用乙個手機才能做這些事情,在不使用依賴注入的情況下,是這樣的 namespace dependency namespace dependency iphone6 iphone6 newi...

筆記 依賴注入

把有依賴關係的類放到容器中,解析出這些類的例項,就是依賴注入。目的是實現類的解耦 例 class a中用到了class b的物件b,一般情況下,需要在a的 中顯式的new乙個b的物件。採用依賴注入技術之後,a的 只需要定義乙個私有的b物件,不需要直接new來獲得這個物件,而是通過相關的容器控制程式來...