2012-04-17 48 views
0

*我不是Spring或IoC的專家 - 我想讓我的客戶端應用程序根據某些條件「選擇」不同的接口實現。我相信Spring(或其他IoC容器)允許這樣做,但是所有示例都顯示具體類是在某個配置文件中配置的,而這並不是我所追求的。我想(某種程度上)允許容器決定從哪個實現中進行選擇(基於某些條件和給定的一組類)以供選擇。使用Spring.Net動態創建對象

這可能嗎? (我很確定它是)。

回答

2

你可以使用一個factory class(它可以是靜態或實例工廠)。

+0

如果我需要提供自己的工廠,那麼使用Spring有什麼好處呢(我可以在沒有Spring的情況下編寫相同的工具) – 2012-04-17 12:24:21

+2

如果您只使用spring作爲工廠來獲取對象,那麼您沒有充分彈簧容器的功能的優點,例如攔截。您可能有興趣閱讀這些問題[1](http://stackoverflow.com/questions/557742/dependency-injection-vs-factory-pattern)[2](http://stackoverflow.com/questions/871405/爲什麼要做我需要一個ioc容器作爲反對直接的代碼)[3](http://stackoverflow.com/questions/2407540/what-are-the-downsides-到使用依賴性噴射)。 – Marijn 2012-04-17 12:42:40