IoC с AOP (PostSharp) в MonoDroid

Я работаю над приложением MonoDroid, и на самом деле пока нет хорошего решения DI (по крайней мере, о котором я знаю).

Я заставил PostSharp работать с MonoDroid и использую функцию перехвата местоположения в качестве способ внедрения зависимостей в поля/свойства без использования локатора сервисов (в любом случае вне аспекта).

Вот над чем я сейчас работаю: https://github.com/mgroves/MonodroidStockPortfolio/blob/develop/MonoStockPortfolio/Framework/IoCAttribute.cs

Это грубо и определенно нуждается в рефакторинге, но вы поняли идею из базовой структуры. Однако я не совсем уверен, что этот подход является наилучшим. Как бы вы использовали DI/IoC в приложении MonoDroid, с PostSharp или без него?


person Matthew Groves    schedule 20.12.2010    source источник
comment
Разве это не место службы, что вы имеете в виду вместо IoC? Я не понимаю I(nversion) IoC в сочетании с Aop   -  person Paco    schedule 20.12.2010
comment
Я использую АОП, чтобы получить доступ к свойствам, а затем я могу использовать локатор служб для разрешения зависимости, но локатор служб только в аспекте, а не разбросан по всей программе.   -  person Matthew Groves    schedule 21.12.2010


Ответы (1)


Это скорее «классический контейнер», чем АОП, и MonoDroid не является платформой, на которой я его тестировал (хотя он был протестирован на Mono, MonoTouch, Silverlight, Windows Mobile и WinPhone7), но TinyIoC должен работать, если он отвечает всем требованиям. :

http://hg.grumpydev.com/tinyioc/wiki/Home

person Steven Robbins    schedule 20.12.2010
comment
TinyIoC определенно работает на MonoDroid, я использую его в последнее время. На самом деле я работаю над небольшой структурой оберток/помощников DI для MonoDroid, и в настоящее время я также использую в ней TinyIoC. - person Greg Shackles; 20.12.2010