implementing-onion-usecases

Installation
SKILL.md

オニオンアーキテクチャのユースケース層を実装する

ユースケースは、UI 層から呼ばれ、ドメインモデルを使って1つの操作をやり遂げる。 やることは「取得する → ドメインモデルのメソッドを呼ぶ → 保存する → 結果を返す」の手順だけで、業務の判断はドメインモデルに任せる。

対象範囲

TypeScript を対象にする。ドメイン層は Zod で書かれた type と関数のモデル(公開 API のオブジェクト Task.start など、ブランド付きの型、DomainError 継承のエラー class)を前提にする。

書くのはユースケース層だけである。ドメイン層(値オブジェクト・エンティティ・リポジトリやドメインサービスのインターフェース)は書かない。 ユースケースに要るドメインの部品が足りないとき(リポジトリにメソッドが無い、業務の判定を置くメソッドが無いなど)は、 何がどこに要るかを回答に示し、ユースケースの中で代わりに実装しない。ドメインの部品は、プロジェクトのドメイン層の流儀で別に書く(implementing-ddd-tactical-patterns-with-zod スキルがあれば、それを使う)。 インフラ層の実装(リポジトリの実装など)と、ユースケースを組み立てる composition root も書かない。

進め方

Installs
1
GitHub Stars
1
First Seen
13 days ago