サイトアクセス数: 2,508
Gatewayの責務 | SE WIKI
SE WIKI
Wiki
Backend
Express設計OpenAPI運用
Clean Architecture
Controllerの責務Domain Entityの責務Gatewayの責務UseCaseの責務
Sample
コード埋め込みサンプル
Clean Architecture/docs/clean-architecture/04-gateway.md

Gatewayの責務

Gatewayは、GitHub APIなど外部サービスとのやり取りを隠す層です。

clean-architecturegatewaygithubGitHubで開く

Gatewayの責務

Gatewayは、GitHub APIなど外部サービスとのやり取りを隠す層です。

Application層は FetchKnowledgeSourcePort だけを知っており、GitHub Contents APIのURLやレスポンス形式を知りません。

このアプリでの実装

  • GitHubKnowledgeSource: GitHub Contents APIからMarkdownを取得する
  • InMemoryKnowledgeSource: テストやローカルサンプル用にMarkdownを返す

うれしいこと

  • UseCaseをGitHubなしでテストできる
  • GitHub APIの仕様変更をInfrastructure層に閉じ込められる
  • 将来、取得元をS3やNotionに変えてもApplication層を守りやすい
目次
このアプリでの実装うれしいこと