0

这是一个好主意吗?与其创建具有两个方法 ( insertand update) 和两个验证方法 ( validateInsertand validateUpdate) 的类,不如创建三个类:一个称为ProductDB,另一个ProductInsert(使用 Insert 和 Validate 方法)和另一个ProductUpdate(使用与 ProductInsert 相同的方法)。

这是否更具可读性、灵活性和可测试性?

4

2 回答 2

1

PaulG 的回答更倾向于传统的域对象模式,我不赞成这种模式。就个人而言,我的偏好是为每个流程(如您的 ProductInsert 和 ProductUpdate)设置一个单独的类。这类似于在简单的银行示例中看到的,其中 Deposit 是类的实例,而不是 BankAccount 类的方法。当您开始考虑具有更多内容的业务流程时,例如要采取的规则和操作以及操作本身的审计/持久性(例如用于跟踪插入的 ProductInsert 表),您越意识到业务流程应该是一等公民在自己的权利。

于 2012-04-17T18:29:45.250 回答
0

这听起来像是一个与语言无关的问题。我将只创建一个类并将其命名为 Product,并在该类中使用适当的方法。想想当实际实例化你的单独对象时会有多混乱(除非你有静态方法)。

还有一个具体的 Product 类将允许您存储特定于对象的信息。

前任:

Product myProduct = new Product()

myProduct.name = "cinnamon toast crunch"

myProduct.price = 3.99

在我看来,单独的类会使您的代码的可读性和可测试性降低很多。

于 2012-04-17T18:17:58.640 回答