実装はどのような順序でも可能です。
ドメインモデルはpkg
で実装すること
internal/infrastructure
の下に実装する必要があります。
機能ユースケースレイヤーを実装するためには、主に2つのステップを踏む必要があります:
internal/usecase/interfaces
にユースケース・インターフェースを作成する。internal/usecase/interactor
の下に作成し、最初のパラメータとしてcontext.Context
を受け入れる必要があります。また、ほとんどのユースケースは*usecase.Operator
を受け入れることができ、これは一部の認可を処理するために使用できます。internal/usecase/interactor/
の下で行われ、ドメインレイヤーとインフラストラクチャーレイヤーのコールを含む必要があります。gqlgenライブラリは、graphqlのコードを生成するために使用されます。スキーマファーストのアプローチなので、新しい型や ミューテーションを開発するためには、schema.graphql
ファイルで宣言する必要があり、スキーマ宣言後に go generate ./internal/graphql
を実行して関連コードを生成する必要があります。
gqlgenライブラリは、internal/adapter/graphql/controller_*.go
で表されるアダプタレイヤーまでの関連コードを生成します。
アダプターレイヤーは通常、ユースケースレイヤーに関連するべきです。このレイヤーでは、コードにはビジネスロジックは含まれず、ドメインモデルとGraphQLタイプ間の変換、およびユースケース レイヤーの呼び出しが含まれるはずです。