【发布时间】:2022-10-13 02:35:40
【问题描述】:
我正在为我的医疗应用程序 API 遵循 Bob 叔叔的干净架构,但我在哪里实现某些事情时遇到了逻辑问题。
在我的应用程序层中,我有我的CreateTreatmentPlanUseCase,我在其中注入了两个存储库:AbstractPatientRepo 和 AbstractTreatmentPlanRepo。
export class CreateTreatmentPlanUseCase implements UseCase<CreateTreatmentPlanRequestDto, Promise<Response>> {
protected patientRepository: AbstractPatientRepository
protected treatmentPlanRepository: AbstractTreatmentPlanRepository
constructor(
patientRepository: AbstractPatientRepository,
treatmentPlanRepository: AbstractTreatmentPlanRepository
) {
this.patientRepository = patientRepository
this.treatmentPlanRepository = treatmentPlanRepository
}
}
在我的接口适配器层中,我在web 目录中有一个控制器
export default class CreateTreatmentPlanController {
protected useCase: CreateTreatmentPlanUseCase
constructor(useCase: CreateTreatmentPlanUseCase) {
this.useCase = useCase
}
public async execute(req: express.Request, res: express.Response) {
const dto = <CreateTreatmentPlanRequestDto>req.body
const treatmentPlanOrError = await this.useCase.execute(dto)
if (treatmentPlanOrError.isFailure()) {
}
}
}
所以我需要将CreateTreatmentPlanUseCase 注入我的CreateTreatmentPlanController。
- 我需要在哪里构造
CreateTreatmentPlanUseCase和CreateTreatmentPlanController?这仍然发生在我的interface adapters层中还是发生在frameworks/ infrastrcture层中?
【问题讨论】: