喂,
为什么我需要2个课程才能获取数据?为什么DataProvider类不够,如果Service除了调用DataProvider中的方法之外什么都没有?
interface ICustomerDataProvider
inferface ICustomerService
class CustomerDataProvider : ICustomerDataProvider
{
// Do Sql queries here
// return sql data and write all DataReader data into customer objects....
public IEnumerable<Customer> GetCustomers()
{
return ...
}
}
class CustomerService : ICustomerService
{
public IEnumerable<Customer> GetCustomers()
{
return _customerDataProvider.GetCustomers();
}
}
class BillingViewModel
{
_customerService = Service.Resolve<ICustomer>();
IEnumerable<Customer> customers = _customerService.GetCustomers();
Customers = new ObservableCollection<Customer>(customers);
}
答案 0 :(得分:1)
如果您的服务层只调用数据提供程序中的方法,则表示您的设计存在问题。
数据提供程序用于提取和推送数据。这需要一些小动作。
服务层执行“大动作”,组合小动作。
以保存博客文章为例: 数据提供者单独执行这些
而服务层只做一个
AddPost()
{
SavePost();
SaveTags();
}