这是个好主意吗?不是使用两个方法(insert
和update
)和两个验证方法(validateInsert
和validateUpdate
)创建一个类,而是创建三个类:一个名为ProductDB
,另一个ProductInsert
(使用方法Insert和Validate)和另一个ProductUpdate
(使用相同的ProductInsert方法)。
这是否更具可读性,灵活性和可测试性?
答案 0 :(得分:1)
PaulG的回答更倾向于传统的域对象模式,我并不赞成。就个人而言,我的偏好是为每个进程设置一个单独的类(如ProductInsert和ProductUpdate)。这类似于人们在简单的银行示例中看到的,其中Deposit是类的实例而不是BankAccount类的方法。当您开始考虑具有更多内容的业务流程时,例如要采取的规则和操作以及操作本身的审计/持久性(比如用于跟踪插入的ProductInsert表),您越了解业务流程应该是一等公民就其本身而言。
答案 1 :(得分:0)
这听起来像一个与语言无关的问题。我只想创建一个类并将其命名为Product,并在类中使用适当的方法。想想实际实例化单独对象时会出现什么样的混乱(除非你有静态方法)。
还有一个具体的Product类将允许您存储特定于对象的信息。
例如:
Product myProduct = new Product()
myProduct.name = "cinnamon toast crunch"
myProduct.price = 3.99
在我看来,单独的类会使你的代码不那么易读和可测试。