Как имитировать RIA-сервис

Есть ли возможность имитировать методы, предоставляемые RIA Services?

Я хочу протестировать свое приложение Silverlight без связи с сервером ...

Я вижу следующий подход:

  • создать отдельный интерфейс;
  • добавить его в «базовые классы» для моего RiaService;
  • определить каждый автогенерированный RIA-метод в этом интерфейсе;
  • вставьте зависимость, чтобы моя «функциональность» зависела не от RiaService, а от интерфейса, реализованного с помощью RiaService.

Но в этом случае я вижу проблему: как сохранить мой интерфейс в автоматически сгенерированных файлах?

Приветствуются любые мысли.


person Budda    schedule 27.03.2010    source источник


Ответы (1)


Несколько относительно не связанных друг с другом мыслей ...

  1. Если автоматически сгенерированные файлы являются частичными классами, вы можете просто добавить еще один частичный класс, чтобы определить, что он реализует интерфейс.
  2. Вы можете использовать StructureMap для внедрения зависимостей в Moq-объекты, чтобы делать то, что вы хотите.
  3. Используйте дженерики интересным способом, чтобы вы могли использовать либо сгенерированный класс, либо имитируемый объект. (вероятно, не лучшее решение)
  4. Используйте отражение для работы с двумя разными типами объектов. (наверное, не лучший вариант)
  5. Директивы компиляции (#if DEBUG) для использования двух разных типов объектов. (определенно не лучший вариант)

Надеюсь, это либо поможет, либо вдохновит на несколько хороших / лучших идей!

person Jaxidian    schedule 27.03.2010
comment
Некоторые дополнительные ссылки, которые могут помочь: nikhilk.net/NET-RIA -Services-ViewModel-Pattern-2.aspx forum.silverlight. net / forum / p / 110292 / 249721.aspx - person Jaxidian; 27.03.2010