【发布时间】:2020-12-12 23:26:28
【问题描述】:
我正在重构我的一个旧应用程序,以使用用例“干净架构”的概念。 我对如何利用通用数据和实体验证有点困惑
例如有2个用例
- 允许管理员导入新的工作流模板
- 允许管理员创建新的工作流模板
以上用例是从控制器中调用的。
在上述两种情况下,都有一些常见的数据库级别验证,例如:
- 是否已有同名的工作流?
要处理这些验证,我是否将其作为单独的用例,如“checkIfWorkflowWithSameNameExists()”?
如果我制作一个单独的用例,那么调用这些常见验证的最佳选项是什么
- 一个用例可以直接调用另一个用例吗
export function importNewWorkflowTemplate(specs){
const { workflowRepository } = specs;
const exists = checkIfWorkflowWithSameNameExists()
if(exists){
//return error
}
return new (payLoad) => {
//logic
}
}
- 我应该注入依赖用例
export function importNewWorkflowTemplate(specs){
const { workflowRepository, checkIfWorkflowWithSameNameExists } = specs;
return new (payLoad) => {
//logic
}
}
- 验证是否应该像控制器一样属于外层?
【问题讨论】:
标签: node.js clean-architecture