假设我有一个用例“客户在账户上存钱”。“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 action
deposit`。
[4] 一个account
只能属于一个customer
。还有一个customer
只能装一个account
。account
也就是说,关系是从到的一对一关系customer
。在这种情况下,deposit
( deposit_amount
and deposit_date
) 动作可以是任何account
or的一部分customer
。