我在過去的幾年裏一直是溫莎的用戶。在Fluent註冊API之前,我會在Xml註冊和大量的AddComponent()代碼之間切換。我們一直很高興地使用Fluent註冊API和安裝程序很長一段時間。我已經得到了來自不同著作的印象是這樣的:溫莎城堡和動態佈線
http://docs.castleproject.org/Windsor.XML-Registration-Reference.ashx
該XML註冊方法已在不遠的失寵,它不會讓我感到吃驚,如果它被標記棄用在某些點未來。
現在,對於我的問題:Fluent註冊API和安裝程序適用於自動佈線場景(即,當我想讓Windsor知道如何構建我的對象圖時)。自動佈線是絕大多數IoC用例,但是當自動佈線不可行時呢?換句話說,我有一個服務的多個實現,我需要告訴溫莎如何構建我的對象圖的一部分。我已經使用Xml註冊方法做了很多次,但是現在還有更受歡迎的方法嗎?由於它的未來似乎不確定,我對使用Xml註冊方法猶豫不決,但我不知道如何用Windsor來實現這一點。
我的使用情況是:
- 系統需要能夠在QA測試交換實現(即 信貸檢查和欺詐檢測處理,我們要測試 不會對信貸局API的依賴)
- 我們的 系統中的供應商模式,我們需要在部署時有條件地打開和關閉不同的 實現。
這一切似乎都非常適合IoC,我們擁有所有構建基塊,但要確保我正在採取溫莎最適合未來的方法。
UPDATE: 雖然我喜歡的功能切換方法,我最近發現一個溫莎特點,就是在這方面非常有用 - Fallback Components。我將把這個編輯留給任何可能在後來偶然發現的人。
你可以發佈你試圖模仿的xml配置嗎? – Maciej