有实体作为物品。用户可以add/edit
。
Edit
和Add
的形式相似,因此对它们的验证是相同的。
用户提交表单时,应该选择策略,该怎么做:add
或update
。
选择哪种OOP方法?
策略模式?
现在看起来:
if(this.dialogAction === "add") {
// LOGIC ADD
}
if(this.dialogAction === "edit") {
// LOGIC EDIT
}
我应该创建两个类AddClass
和EditClass
,ValidationClass
吗?
他们两个都使用ValidationClass
。
仅动作之间存在差异。
动作添加使用服务:service.add();
编辑动作使用服务中的方法:service.edit()
答案 0 :(得分:0)
我认为您不需要策略模式。您的算法定义明确,包括两个步骤:验证(1)和动作执行(2)。
algorithm() {
validate();
action.execute();
}
action
可能是command,并且会有AddCommand
和EditCommand
。当用户提交表单时,您可以让算法知道要使用什么命令。