gpt4 book ai didi

c# - 面向对象设计与数据库设计

转载 作者:太空狗 更新时间:2023-10-29 22:35:24 25 4
gpt4 key购买 nike

假设我正在使用 C# 为产品分销商开发应用程序。

分销商进行以下 3 种类型的交易:

(1) 缩进

(2) 卖出

(3) 股票

我的类(class)设计如下:

public abstract class Transaction
{
}

public class Indent : Transaction
{
}

public class Sell : Transaction
{
}

public class Stock : Transaction
{
}

现在如果我想将这三种类型的信息保存在三个单独的表中,那么我应该如何设计我的 DA 层?

我应该像这样构建单独的 DA 类吗

(1) IndentDA
(2) SellDA
(3) StockDA

或单个类 TransactionDA 并通过使用 as/is 运算符检查它们的类型来执行 CRUD 操作?

或者我还能做什么?有什么建议吗?

最佳答案

首先,如果您创建了一个类 TransactionDA 并在类中检查类型以执行 CRUD 操作,您将违反 Open/Closed Principle ,所以我绝对不会走那条路。

关于如何完成构建 DAL 的建议,我建议关注一些关于比我聪明得多的人的博客文章,了解他们对这个主题的看法。

Repository is the new Singleton

Repository is Dead: Long Live Repository

Night of the Living Repositories

对话还在继续,我相信,但这应该让你开始。

关于c# - 面向对象设计与数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1001122/

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