Autofac MVVM - Пожизненная - PullRequest
       42

Autofac MVVM - Пожизненная

1 голос
/ 17 февраля 2011

Есть ли примеры использования Autofac в приложении MVVM? Я не уверен, как можно контролировать время жизни и утилизацию объектов в среде MVVM.

Я понимаю, что могу создать время жизни и решить из-под него, но это действительно больше похоже на шаблон поиска служб, чем на шаблон IoC.

1 Ответ

3 голосов
/ 19 февраля 2011

У меня нет публичного примера, но я сделал это в приложениях Silverlight.

Я использовал каркас навигации Silverlight для организации верхнего уровня контента. Когда фрейм переместился на новую страницу, я создал целую область действия, в которой я определил модель корневого представления страницы, которую я связал со страницей через атрибут:

[ViewModel(typeof(OrdersViewModel))]
public class OrdersView : Page

Когда фрейм перемещался на другую страницу, я располагал область действия до создания следующей.

Тот же шаблон применяется к открытию диалогов. Каждый диалог получает свою собственную область действия и модель представления. Когда он закрывается, область действия времени жизни удаляется.

Есть также ситуации, которые не укладываются аккуратно вдоль этих границ. Иногда вам нужно больше детализации, и вы можете углубиться в жизненные области, используя контекстные области . Эти ситуации, как правило, одноразовые и включают в себя некоторое количество клея, чтобы начать жизненные области.

Я считаю полезным думать о единицах работы : вы вносите изменения в конце каждой жизненной области. Это делает экстент набора данных естественной областью действия.

...