Service 静态数据服务类与IRepository的对比?

Service 静态数据服务类与IRepository的对比?,service,interface,static,Service,Interface,Static,我正在研究Sacha Barbers MVVM framework Chinch的代码,我在xxxViewModel.cs文件中看到了这一点: DataService.FetchAllOrders(CurrentCustomer.CustomerId.DataValue); DataService是一个静态类。作为一名初级开发人员,我只习惯于与数据服务接口。为什么那个类是静态的 还是你认为他只是为了举例 那么这是一个好方法吗?公平地说,我不知道FetchAllorder中发生了什么-它可能被编

我正在研究Sacha Barbers MVVM framework Chinch的代码,我在xxxViewModel.cs文件中看到了这一点:

DataService.FetchAllOrders(CurrentCustomer.CustomerId.DataValue);
DataService是一个静态类。作为一名初级开发人员,我只习惯于与数据服务接口。为什么那个类是静态的

还是你认为他只是为了举例


那么这是一个好方法吗?

公平地说,我不知道FetchAllorder中发生了什么-它可能被编程为表现良好

在实际经验中,我看到静态类在维护数据访问所需的基础设施时使用得很差。我说得很糟糕,因为我所看到的这些实现并不是线程安全的。当代码部署到多用户环境(如web应用程序)时,它爆炸了

对于不包含状态且因此是线程安全的类,请使用静态类。例如,只使用方法的类。 使用静态类来创建具有线程安全锁的串行访问。 在一次性代码中使用静态类可以避免构建/维护/传递实例的设计开销。
查看.net framework,看看Microsoft将哪些类设置为静态类,并思考原因。

存储库只有从数据库/上下文获取和传递数据的方法。因此,我认为使用静态数据访问类是可行的。