Line data Source code
1 : // Package education は、学歴に関するユースケース(アプリケーションロジック)を提供します。
2 : // ドメイン層のエンティティやリポジトリを操作し、アプリケーション全体で再利用可能なビジネスフローを実装します。
3 : package education
4 :
5 : // Interactor は Education に関するユースケース処置の実装を提供する
6 : // リポジトリ層及びトランザクション実行を通じて、ドメインロジックを仲介します
7 : type Interactor struct {
8 : tx TxRunner
9 : ueRepo UeRepo
10 : esRepo EsRepo
11 : dtRepo DtRepo
12 : }
13 :
14 : // New は 学歴 用ユースケースの Interactor を生成して返す
15 : // 各リポジトリとトランザクションランナーを依存として受け取る
16 : func New(
17 : tx TxRunner,
18 : ueRepo UeRepo,
19 : esRepo EsRepo,
20 : dtRepo DtRepo,
21 0 : ) Usecase {
22 0 : return &Interactor{
23 0 : tx: tx,
24 0 : ueRepo: ueRepo,
25 0 : esRepo: esRepo,
26 0 : dtRepo: dtRepo,
27 0 : }
28 0 : }
|