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

回答編集履歴

1

修正

2021/01/15 05:39

投稿

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