【发布时间】:2025-12-20 09:10:12
【问题描述】:
假设我有一个 DAL,多个应用程序使用它来访问相同的数据。 DAL 定义了自己的类和接口来处理这些数据,但使用 DAL 的应用程序应该使用这些类还是只使用接口?
另一种方式;应该是:
List<Product> products = MyDAL.Repository.GetProducts();
或:
List<IProduct> products = MyDAL.Repository.GetProducts();
每个使用 DAL 的应用程序都必须为 Product 创建自己的实现细节是好是坏?
【问题讨论】:
-
为什么应用程序需要有自己的实现细节?它可以通过(公共)接口使用 DAL 定义的(私有)实现。
-
其实我上面最大的问题是使用List而不是IList。这比 IProduct 而不是 Product 更容易引起问题。
-
Ian 等人,谢谢,但请记住,上面的代码仅用于说明目的。
标签: c# class architecture interface