teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

訂正

2021/01/15 05:42

投稿

退会済みユーザー
answer CHANGED
@@ -3,10 +3,14 @@
3
3
 
4
4
  ① UserInterface層のStartup
5
5
  UserInterface層に配置されるが、Application Serviceの一部として扱う
6
+ → 訂正 依存性注入のみ使用
6
7
 
7
8
  ② UserInterface層のController
8
9
  Application serviceを利用する(ユースケースとして分離)
10
+ ただし、ユーザーの権限チェックのみControllerよりドメインサービスを直接実行して行いました。(現在のユーザー情報はControllerで扱う方が複雑でなかったため。)
9
11
 
12
+ それ以外のチェックはアプリケーションサービスで実施。
13
+
10
14
  ③ ApplicationService層
11
15
  Controllerのユースケースを記述する
12
16
  Controllerで共通で利用するサービスを記述してもよいかも?

4

修正

2021/01/15 05:42

投稿

退会済みユーザー
answer CHANGED
@@ -1,22 +1,23 @@
1
1
  図と「ドメイン駆動設計入門」の本をもとに、これが正しいかはわからないですが、
2
2
  一旦下記の考え方としました。
3
3
 
4
- UserInterface層のStartup
4
+ ① UserInterface層のStartup
5
- ・・・ UserInterface層に配置されるが、Application Serviceの一部として扱う
5
+ UserInterface層に配置されるが、Application Serviceの一部として扱う
6
6
 
7
- UserInterface層のController
7
+ ② UserInterface層のController
8
- ・・・ Application serviceを利用する(ユースケースとして分離)
8
+ Application serviceを利用する(ユースケースとして分離)
9
9
 
10
- ApplicationService層
10
+ ③ ApplicationService層
11
- ・・・ Controllerのユースケースを記述する
11
+ Controllerのユースケースを記述する
12
+ Controllerで共通で利用するサービスを記述してもよいかも?
12
-     Repositoryインターフェースが必要な時は利用する
13
+ Repositoryインターフェースが必要な時は利用する
13
-     トランザクションが必要な時はこの層で実施する (transaction scopeなどの機能を利用)
14
+ トランザクションが必要な時はこの層で実施する (transaction scopeなどの機能を利用)
14
-     Domain serviceが必要な時はそれを利用する
15
+ Domain serviceが必要な時はそれを利用する
15
16
 
16
- DomainService層
17
+ ④ DomainService層
17
-  ・・・Repositoryインターフェースを定義する
18
+ Repositoryインターフェースを定義する
18
19
 
19
-  ・・・ここのServiceはドメインに関わるサービスとする
20
+ ここのServiceはドメインに関わるサービスとする
20
-     (ユザーチェックなど。
21
+ 共通で利用するサビスを記述してもよいかも?
21
-     modelエラーに追加してあげれば、Controller上でメッセージが取り出せる
22
+ (ユーザーチェックなど。modelエラーに追加してあげれば、Controller上でメッセージが取り出せる
22
-     またはチェック処理Application Service上LINQ等でやってもよいかもしれない)
23
+ チェック処理Application Service上LINQ等でやるのは微妙?)

3

修正

2021/01/13 05:56

投稿

退会済みユーザー
answer CHANGED
@@ -9,8 +9,8 @@
9
9
 
10
10
  ApplicationService層
11
11
  ・・・ Controllerのユースケースを記述する
12
- Repositoryインターフェースが必要な時は利用する
12
+     Repositoryインターフェースが必要な時は利用する
13
- トランザクションが必要な時はこの層で実施する (transaction scopeなどの機能を利用)
13
+     トランザクションが必要な時はこの層で実施する (transaction scopeなどの機能を利用)
14
14
      Domain serviceが必要な時はそれを利用する
15
15
 
16
16
  DomainService層
@@ -19,4 +19,4 @@
19
19
   ・・・ここのServiceはドメインに関わるサービスとする
20
20
      (ユーザーチェックなど。
21
21
      modelエラーに追加してあげれば、Controller上でメッセージが取り出せる
22
- またはチェック処理はApplication Service上でLINQ等でやってもよいかも?しれない)
22
+     またはチェック処理はApplication Service上でLINQ等でやってもよいかも?しれない)

2

修正

2021/01/13 05:53

投稿

退会済みユーザー
answer CHANGED
@@ -5,7 +5,7 @@
5
5
  ・・・ UserInterface層に配置されるが、Application Serviceの一部として扱う
6
6
 
7
7
  UserInterface層のController
8
- ・・・ Application serviceを利用する
8
+ ・・・ Application serviceを利用する(ユースケースとして分離)
9
9
 
10
10
  ApplicationService層
11
11
  ・・・ Controllerのユースケースを記述する

1

修正

2021/01/13 05:52

投稿

退会済みユーザー
answer CHANGED
@@ -1,4 +1,5 @@
1
- 図と「ドメイン駆動設計入門」の本をもとに、一旦下記の考え方とました。
1
+ 図と「ドメイン駆動設計入門」の本をもとに、これが正いかはわからないですが、
2
+ 一旦下記の考え方としました。
2
3
 
3
4
  UserInterface層のStartup
4
5
  ・・・ UserInterface層に配置されるが、Application Serviceの一部として扱う