【发布时间】:2018-02-23 21:23:21
【问题描述】:
以下是从use case 中选择的三个业务对象
对于任何给定的用例,我的理解是,如果 actor 属于以下两种情况,则可以将其视为 业务对象:
- 如果该参与者有自己的本地状态,并且该状态必须不断变化。
或者
- 如果该参与者可能没有自己的本地状态,但通过关联(组合/聚合)影响另一个参与者的状态。示例:
CoinFlipGame演员影响演员Player和Coin。
为了强调,我想概括一下,任何被视为业务对象的参与者,该参与者都应属于上述两种情况。此外,每个业务对象都是一个 OOP 类(C++/Java/C#)。
您是否同意这种在选择业务对象时派生 OOP 类的方法?
对于给定的用例,如何识别数据库中可以满足需求的业务对象?
【问题讨论】:
-
每个业务对象都是 OOP 对象,但并非每个 OOP 对象都是业务对象。
-
@RomainHippeau 查询已编辑,请写下您的评论
-
你有三个对象。 1) 玩家 2) 硬币 3) 游戏。玩家的选择是一种属性,硬币的面也是如此。 Game 对象是将所有东西连接在一起所需的粘合剂。项目 1 和 2 是您的业务对象。第 3 项只是实现所需的工件。到底什么是业务对象,什么不是真正的学术,取决于你的实现。
-
@RomainHippeau 我同意this。
-
FWIW:玩家是演员。不要过度强调业务参与者:-/当然它将表示为业务对象。
标签: java c# c++ database-design