Подтвердить что ты не робот

Срок службы UnitOfWork в WPF с контейнером IoC

Моя основная настройка очень похожа на это; http://visualstudiomagazine.com/articles/2011/10/01/wpf-and-inversion-of-control.aspx

Настройка MVVM в WPF. Я вставляю UnitOfWork и RepositoryFactory в ViewModel. Это отлично поработало для диалогов, которые я написал до сих пор... Однако большие части нашего приложения находятся внутри присоединяемых окон (думаю, Visual Studio UI). Они открыты до тех пор, пока это приложение.

Итак, я думал о том, чтобы переместить unitofwork из жизни в диалоге вплоть до времени вызова метода (например, Button.Click()).

Но я не придумал хороший способ сделать то, что не нарушит некоторые преимущества, которые я получаю от использования Castle Windsor в качестве контейнера IoC и/или не следую за DRY.

Это кажется довольно хорошим... http://www.codeproject.com/Articles/543810/Dependency-Injection-and-Unit-Of-Work-using-Castle Но я беспокоюсь о том, что сеанс завернут в полу-синглтон, и я беспокоюсь, что, возможно, пешком, удалив прямой доступ к UnitOfWork.

У кого-нибудь есть хорошее решение для этого? Является ли приведенный выше кодпроектом хорошим, а если нет, то какие его недостатки?

4b9b3361

Ответ 1

Просто ознакомьтесь с интерфейсом Unit of Work Factory (например, IUnitOfWorkFactory) и используйте его там, где это необходимо (введите его и т.д.).

Также рассмотрим создание интерфейса IUnitOfWork, унаследованного от интерфейса IDisposable.