我的问题很简单。我之所以这么问,是因为我和我的一些同事对 Decrease 操作必须如何采取行动有不同的看法。
篮子的实现是微不足道的 - 具有 Quantity 属性的项目列表。
对于我的同事来说,减少操作只能减少数量,直到数量为正,并且减少操作不能从篮子中删除项目。减少操作可以只减少数量属性,直到属性大于或等于 1。因此,减少操作不能达到 Quantity = 0,如果你想从你的前端再减少一次,你必须调用删除方法。
我不太了解这个概念,因为您可以将 Quantity 实现为十进制,因为您可以分批出售某些东西。最小数量可能不同。此外,最小数量的要求与篮子操作无关 - 这是一个业务规则,对于不同种类的项目可能会有所不同。
对我来说,减少操作可以将 Quantity 减少到 0,然后删除该项目。如果对于某个项目,有任何要求为篮子中的项目指定任何最小数量,则必须在减少操作之前检查此要求,然后可以将信息发送到减少操作。
我们可以将减少/删除操作与添加/增加操作进行比较。因此,您可以添加项目,您可以通过增加操作增加其数量,但您可以再次添加相同的项目,但在篮子中您只会增加已经存在的项目的数量。
您更喜欢如何实现这些操作?你知道我必须重新考虑的任何限制吗?