假设我有一个用例“客户在账户上存钱”。“Deposit()”功能应该去哪里?客户或帐户?这个用例的设计应该是什么?
1 回答
当一个deposit动作被执行时,这个动作至少记录了deposit_amount这个deposit_date动作是在什么时候完成的。因此,此操作的位置deposit取决于以下四种情况(或 和 之间的关系customer)account:
[1] 一个account可以属于许多customer。但是, acustomer可以有一个account. account也就是说,关系是从到的一对多customer。在这种情况下,deposit(deposit_amount和deposit_date) 动作应该是customer.
[2] Acustomer可以容纳许多account. 但是, anaccount可以属于 single customer。customer也就是说,关系是从到的一对多account。在这种情况下,deposit(deposit_amount和deposit_date) 动作应该是account.
[3] 许多account可以属于一个单一的customer。此外, anaccount可以被许多人持有customer。account也就是说,关系是从到的多对多customer。在这种情况下,最好有一个单独的类CDeposit{customer_id, account_id, deposit_amount, deposit_date} which will record this actiondeposit`。
[4] 一个account只能属于一个customer。还有一个customer只能装一个account。account也就是说,关系是从到的一对一关系customer。在这种情况下,deposit( deposit_amountand deposit_date) 动作可以是任何accountor的一部分customer。