Usecase アプリケーション固有のビジネスルールを書いています。 渡された todoRepo にデータのやりとりの処理を委譲します。 特定の実装に依存せず、interfaceに依存させることにより、ビジネスルールが外部の詳細を知らずにすみます。 import { Todo } from "domain"; import { TodoRepository } from "./repository"; export default class TodoUsecase { constructor(private todoRepo: TodoRepository) {} findAll(): Todo[] { return this.todoRepo.findAll(); } add(text: string) { this.todoRepo.add(text); } edit(id: str