gpt4 book ai didi

c# - DAL 类(class)应该公开吗?

转载 作者:行者123 更新时间:2023-11-30 18:42:47 25 4
gpt4 key购买 nike

假设我有一个 DAL,多个应用程序使用它来访问相同的数据。 DAL 定义了自己的类和接口(interface)来处理这些数据,但是使用 DAL 的应用程序应该使用这些类,还是只使用接口(interface)?

另一种方式;应该是:

List<Product> products = MyDAL.Repository.GetProducts();

或:

List<IProduct> products = MyDAL.Repository.GetProducts();

每个使用 DAL 的应用程序都必须为产品创建自己的实现细节是好是坏?

最佳答案

传递接口(interface)而不是类是一件(非常好的)事情。将 DAL 类设为私有(private)是另一回事(不一定是好事)。

例如,如果使用您的 DAL 的应用程序之一想要稍微更改 Product 的行为怎么办?如果原始类是私有(private)的,您如何对其进行子类化或装饰?

假设您的一个应用程序是 Web 应用程序,需要将产品图像存储为 URL 而不是文件路径?或者在 Product 之上添加缓存、日志记录或其他东西?

关于c# - DAL 类(class)应该公开吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5313191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com