Интерфейс DomainContext для служб WCF RIA - это хороший подход? - PullRequest
1 голос
/ 06 августа 2011

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

public interface INorthwindContext
{
  public IDomainContext Context;
}

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

 public partial class NorthwindContext : INorthwindContext
   {
   }

Теперь я могу создать DataService или TestDataService и т. Д., Например:

public class DataService : IDataService
{
    public INorthwindContext Context { get; set; }
}

Мой INorthwindContext:

РЕДАКТИРОВАТЬ: если я не добавлю все методы из DomaincContext в этот интерфейс, я идупотерять нужную функциональность, чтобы получить данные.Мне также придется вручную обновлять интерфейс каждый раз, когда я добавляю новые объекты в сервис.

public interface INorthwindContext
   {
      EntitySet<Category> Categories { get; }
      EntityQuery<Category> GetCategoriesQuery();
      EntityQuery<Product> GetProductsQuery();
      EntityQuery<Region> GetRegionsQuery();
      EntityQuery<Shipper> GetShippersQuery();
      EntityQuery<Supplier> GetSuppliersQuery();
      EntityQuery<Territory> GetTerritoriesQuery();
      EntitySet<Product> Products { get; }
      EntitySet<Region> Regions { get; }
      EntitySet<Shipper> Shippers { get; }
      EntitySet<Supplier> Suppliers { get; }
      EntitySet<Territory> Territories { get; }
   }

Это было очень полезно и http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern-2.aspx

1 Ответ

3 голосов
/ 08 августа 2011

Вот шаблон, который я рекомендую для с использованием RIA Services с MVVM (который является хорошим шаблоном для использования при проверке данных и данных времени разработки).Это образец MVVM Джона Папы.

...