我在我的域层中有一个名为 Product 的实体。
class Product{
String barcode;
String name;
String barcode;
double price;
int amount;
}
我的 UI 有一个产品列表,当我触摸条形码扫描仪按钮时,相机会读取条形码并增加 UI 产品列表中的产品。如果列表中没有具有相同条形码的产品,则应用程序将添加该新产品,但如果存在具有相同条形码的某些产品,则应用程序将增加该产品的数量。
我应该在哪一层添加这条规则?我应该在 UseCase 中进行此验证吗?还是在 Presenter 中?因为我可以有 2 个用例:
- 第一个将需要条形码,并将返回具有相同条形码的产品。
- 第二个将期望一个产品,并将增加产品数量并返回自身。
我可以使用 Presenter 来验证列表中是否有一些具有相同条形码的产品,如果有,Presenter 将调用第二个 UseCase 来增加产品数量。否则,Presenter 将调用第一个 UseCase 以返回一个新产品,然后 Presenter 将添加到 List。
或者我应该在 UseCase 中进行所有验证吗?我的意思是,Presenter 总是只会调用一个 UseCase,它会增加 Product 并期望所有 List 并返回所有 List。
所以我的 UseCase 将验证作为参数传递的列表,如果产品存在于列表中,则用例将递增并返回列表,如果产品不存在,则用例将返回带有新产品的列表。
我知道 UseCase 应该有所有的业务规则,并且这个规则“如果它不存在就添加一个产品,如果它存在就增加它的数量”它就像一个业务规则。但我不知道如何让 UseCase 使用此规则。