Development

TypeScriptでクリーンアーキテクチャを実装する

TypeScriptでクリーンアーキテクチャを実装する

クリーンアーキテクチャとは

クリーンアーキテクチャは、コードの保守性とテストの容易性を向上させる設計パターンです。

1. レイヤー構造

エンティティ、ユースケース、インターフェースアダプター、フレームワーク&ドライバーの4つの層に分離します。

2. 依存性の方向

外側の層は内側の層に依存し、その逆は許可されません。

3. TypeScriptでの実装

型安全性を活用して、より堅牢なアーキテクチャを構築できます。


interface UserRepository {
  findById(id: string): Promise;
  save(user: User): Promise;
}

class UserUseCase {
  constructor(private userRepo: UserRepository) {}

  async getUser(id: string): Promise {
    const user = await this.userRepo.findById(id);
    if (!user) throw new Error('User not found');
    return user;
  }
}
      

この設計パターンにより、テストしやすく、変更に強いコードを書くことができます。