我有一个数据访问层,它将应用程序的其余部分从持久性技术中抽象出来。现在的实现是 SQL 服务器,但这可能会改变。无论如何,随着我的表的增长(现在大约 40 个表),我发现这个主要的数据访问类变得越来越大。此数据访问层的接口是您可能想要获取数据的任何问题
public interface IOrderRepository
{
Customer[] GetCustomerForOrder(int orderID);
Order[] GetCustomerOrders(int customerID);
Product[] GetProductList(int orderID);
Order[] GetallCustomersOrders(int customerID);
etc . . .
}
这背后的实现是基本的 SQL 存储过程,运行适当的查询并在类型化集合中返回结果
这将继续增长和增长。它非常易于维护,因为没有真正打破单一职责,但该类现在有超过 2000 行代码。
所以问题是,由于确定的类大小(并且没有真正的概念耦合),这是否应该被分解,如果是这样,那么抽象的维度或级别是什么。