回答

4

我通過這個評估過程中去了,我發現Funq是一個乾淨的實現,它給了我足夠的力量做什麼我想要的不是複雜的事情(或拖動是巨大的依賴)。 它很好很乾淨,並支持通過lambda表達式進行懶惰對象初始化。

我評估了5個或6個不同的專門用於MonoTouch的容器。

http://funq.codeplex.com/

+0

你還記得哪一個,你如何評價他們? – Alxandr 2011-06-23 07:24:35

+0

對不起,我不記得我測試過哪些。 我只是將它們插入到我的應用程序中,試圖達到我需要的功能級別,並評估每個庫需要多少'fudging'。如上所述 - Funq非常易於使用,並提供了我所需要的一切。 – Adam 2011-06-24 03:42:35

0

想到我提到Spring.Net,我們在所有的應用程序中廣泛使用原始的[Java]版本。

Spring [至少在Java上]有很多。許多[可選]模塊。我自己並沒有嘗試過.Net版本,但我有興趣瞭解它如何進行比較。

乾杯

豐富

附: Spring.Net是Apache許可的,因此可用於封閉源代碼,商業項目(例如iOS/iPhone等)

+0

爲什麼選擇投票?如果你有與Spring相反的信息。網絡不能用於Monotouch,請更新此頁面讓大家知道。否則,我的「建議」仍然是有效的,不是嗎? – 2012-07-19 14:25:45

0

我已經發布了Stiletto,這是一個適用於所有.NET平臺(包括Xamarin和MonoTouch)的IoC。它可以讓你主要使用屬性指定你的依賴關係,並通過在編譯時執行它的事情來解決運行時反射和泛型實例的限制。

編輯

我將不得不更新文檔,但預編譯工具確實工作與Xamarin Studio中的電流生成工具。 Stiletto預編譯需要xbuild,它支持Xamarin.Android,但不支持Xamarin.iOS!不幸的是,這意味着我的答案大部分都是不正確的 - 也就是說,除非您想在Visual Studio中編寫iOS應用程序,這正是我一直在做的!道歉。將在幾天內刪除此答案。

+0

從文檔看來,它只有基於屬性的配置。這是真的嗎? – Shaddix 2013-10-28 02:30:56

+0

是的,明確如此。它旨在使用編譯時codegen來繞過限制iOS的阻礙當前IoC容器的限制,因此在運行時不可配置 - 超出Container.Add(Container),即。 – Ben 2013-10-28 18:01:00