现在存在一个关于自动售货机和自动取款机的业务,先来看看自动售货机的接口:
    image.png
    👆这是最终展示界面,然而我们着重关心的并不是用户界面,而是其背后的业务逻辑建模——购买零食、找零等。首先,我们需要对投币、找零、出货以及其它业务逻辑建模。售货机有三个零食槽,分别是巧克力(Chocolate)、苏打水(soda)、口香糖(gum)。投币口有:1分、10分、25分、1元、5元、20元。购买零食的流程是投币,选择目标、按下购买按钮。以购买巧克力为例,投3个1元币,按下购买键,巧克力数量减少1。下面我们将细化需求并实现。
    另一个对象是ATM
    image.png
    用户可以支付少量费用进行存取款,输入金额1元,按下Take Money,ATM账号金额便会减少1。
    image.png
    最后,我们需要将现金从ATM转移到自动售货机且正确处理所有的费用。这个过程中,我们将会贯彻DDD理念并且给出切实建议。