質問編集履歴

25

2021/01/09 09:13

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -62,7 +62,7 @@
62
62
 
63
63
  (引用) オニオンアーキテクチャとは何か
64
64
 
65
- [https://qiita.com/cocoa-maemae/items/e3f2eabbe0877c2af8d0> ](https://qiita.com/cocoa-maemae/items/e3f2eabbe0877c2af8d0>)
65
+ [https://qiita.com/cocoa-maemae/items/e3f2eabbe0877c2af8d0](https://qiita.com/cocoa-maemae/items/e3f2eabbe0877c2af8d0)
66
66
 
67
67
 
68
68
 

24

訂正

2021/01/09 09:13

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -14,9 +14,9 @@
14
14
 
15
15
 
16
16
 
17
-   Application service :下記のソースコードを例とするとControllerのチェック処理等をApplication Serviceに分ける?
17
+   Application service :下記のソースコードを例とするとControllerのチェック処理等をApplication Serviceに分ける?(ユースケース組立の一部?)
18
-
19
-               (ユースケース組立の一部?)
18
+
19
+
20
20
 
21
21
    Domain service : 下記のソースコードを例とすると、Controllerで使用しようとしていたRepositoryをDomain serviceに分ける(ControllerでServiceを操作する)
22
22
 

23

訂正

2021/01/08 08:29

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
                (ユースケース組立の一部?)
20
20
 
21
-   Domain service : 下記のソースコードを例とすると、Controllerで使用しようとしていたRepositoryをサービスに分ける(ControllerでServiceを操作する)
21
+   Domain service : 下記のソースコードを例とすると、Controllerで使用しようとしていたRepositoryをDomain serviceに分ける(ControllerでServiceを操作する)
22
22
 
23
23
   
24
24
 

22

訂正

2021/01/08 02:54

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
                (ユースケース組立の一部?)
20
20
 
21
-   Domain service : 下記のソースコードを例とすると、Repositoryの操作をサービスに分ける(ControllerでServiceを操作する)
21
+   Domain service : 下記のソースコードを例とすると、Controllerで使用しようとしていたRepositoryをサービスに分ける(ControllerでServiceを操作する)
22
22
 
23
23
   
24
24
 

21

訂正

2021/01/08 02:54

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
                (ユースケース組立の一部?)
20
20
 
21
-   Domain service : 下記のソースコードを例とすると、Repositoryの操作をサービスに分ける
21
+   Domain service : 下記のソースコードを例とすると、Repositoryの操作をサービスに分ける(ControllerでServiceを操作する)
22
22
 
23
23
   
24
24
 

20

訂正

2021/01/08 02:51

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -14,9 +14,11 @@
14
14
 
15
15
 
16
16
 
17
-   Application service :Controllerのチェック処理等をサービスに分ける(ユースケース組立の一部)
17
+   Application service :下記のソースコードを例とするとControllerのチェック処理等をApplication Serviceに分ける?
18
+
18
-
19
+               (ユースケース組立の一部?)
20
+
19
-   Domain service : Repositoryの操作をサービスに分ける
21
+   Domain service : 下記のソースコードを例とすると、Repositoryの操作をサービスに分ける
20
22
 
21
23
   
22
24
 

19

訂正

2021/01/08 02:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
   ・Mvcフレームワーク自体にもStartupにserviceの機能があるようです。
28
28
 
29
-   (コンストラクタでデータのcontext(MvcContext)を利用できたりする)
29
+   (依存性の注入というものが行われているようです。コンストラクタでデータのcontext(MvcContext)を利用できたりする)
30
30
 
31
31
    これはApplication Serviceに該当するのでしょうか。
32
32
 
@@ -40,21 +40,15 @@
40
40
 
41
41
 
42
42
 
43
-  ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれますが、
43
+  ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれます
44
-
44
+
45
-  複数のデータを同時更新したい時、トランザクションを手動実施す場合はどの層で実施ればよいでしょうか?
45
+  複数のデータを同時更新したい時、ORMの機能でき時もありま
46
-
46
+
47
-  現在context(データ)はRepositoryが持っています。
47
+  また、現在context(データ)はRepositoryが持っています。
48
-
49
-
50
-
51
-  ※モデルの関連モデルであれば、ORMの機能で同時にできますが
48
+
52
-
53
- 例えば、あるNo発行用のモデルで追加を行ってから、本来のデータモデルを追加をするような時に、
49
+
54
-
50
+
55
-  はORMの機能は実施きなかったので、トランザクションを手動で実施する必要があります。
51
+  れでも任意でトランザクションを手動で実施したい場合はどの層で実施ればよいでしょうか?
56
-
57
-
58
52
 
59
53
 
60
54
 

18

訂正

2021/01/07 12:21

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
 
50
50
 
51
-  ※モデルの関連モデルであれば、ORMの機能で同時にできたりはしますが
51
+  ※モデルの関連モデルであれば、ORMの機能で同時にできますが
52
52
 
53
53
  例えば、あるNo発行用のモデルで追加を行ってから、本来のデータモデルを追加をするような時に、
54
54
 

17

訂正

2021/01/07 11:45

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  クリーンアーキテクチャ(オニオンアーキテクチャ)について勉強しています。
2
2
 
3
- サービス層とトランザクションについて教えてください。
3
+ サービス層と手動トランザクションについて教えてください。
4
4
 
5
5
 
6
6
 
@@ -34,7 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- ② トランザクションについて
37
+ ② 手動トランザクションについて
38
38
 
39
39
   下記に記載のコード(C#)ですが、他の言語でも似たようなことかもしれませんが、
40
40
 

16

訂正

2021/01/07 11:45

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -10,23 +10,25 @@
10
10
 
11
11
 
12
12
 
13
-  Application serviceとDomain serviceの違いがわかりません。
13
+  Application serviceとDomain serviceの違いがわかりません。
14
-
15
-
16
-
14
+
15
+
16
+
17
-  Application service :Controllerのチェック処理等をサービスに分ける(ユースケース組立の一部?)
17
+   Application service :Controllerのチェック処理等をサービスに分ける(ユースケース組立の一部?)
18
-
18
+
19
-  Domain service : Repositoryの操作をサービスに分ける
19
+   Domain service : Repositoryの操作をサービスに分ける
20
20
 
21
21
   
22
22
 
23
-  のようなことでしょうか?
23
+   のようなことでしょうか?
24
-
25
-
26
-
24
+
25
+
26
+
27
-  そしてMvcフレームワーク自体にもStartupにserviceの機能があるようです。
27
+  Mvcフレームワーク自体にもStartupにserviceの機能があるようです。
28
-
28
+
29
-  (コンストラクタでデータのcontext(MvcContext)を利用できたりする)
29
+   (コンストラクタでデータのcontext(MvcContext)を利用できたりする)
30
+
31
+   これはApplication Serviceに該当するのでしょうか。
30
32
 
31
33
 
32
34
 

15

説明

2021/01/07 11:41

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -226,6 +226,6 @@
226
226
 
227
227
  services.AddDbContext<MvcDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("MvcConnection")));
228
228
 
229
- services.AddRepository();
229
+ services.AddTransient<IDepartmentRepository, DepartmentRepository>();
230
-
230
+
231
- ```
231
+ ```

14

訂正

2021/01/07 11:35

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
 
26
26
 
27
-  そしてMvcフレームワーク自体にもserviceの機能があるようです。
27
+  そしてMvcフレームワーク自体にもStartupにserviceの機能があるようです。
28
28
 
29
29
   (コンストラクタでデータのcontext(MvcContext)を利用できたりする)
30
30
 

13

訂正

2021/01/07 11:33

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -6,6 +6,10 @@
6
6
 
7
7
  ① サービス層について
8
8
 
9
+  下記の引用先の記事と図ですが、
10
+
11
+
12
+
9
13
   Application serviceとDomain serviceの違いがわかりません。
10
14
 
11
15
 

12

訂正

2021/01/07 11:32

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,9 @@
20
20
 
21
21
 
22
22
 
23
+  そしてMvcフレームワーク自体にもserviceの機能があるようです。
24
+
23
-  そしてフレームワーク自体にもserviceの機能があるようです。(コンストラクタでデータのcontext(MvcContext)を利用できたりする)
25
+  (コンストラクタでデータのcontext(MvcContext)を利用できたりする)
24
26
 
25
27
 
26
28
 

11

訂正

2021/01/07 11:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -14,12 +14,18 @@
14
14
 
15
15
   Domain service : Repositoryの操作をサービスに分ける
16
16
 
17
-
17
+  
18
18
 
19
19
   のようなことでしょうか?
20
20
 
21
21
 
22
22
 
23
+  そしてフレームワーク自体にもserviceの機能があるようです。(コンストラクタでデータのcontext(MvcContext)を利用できたりする)
24
+
25
+
26
+
27
+
28
+
23
29
  ② トランザクションについて
24
30
 
25
31
   下記に記載のコード(C#)ですが、他の言語でも似たようなことかもしれませんが、

10

訂正

2021/01/07 11:26

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
-  Application service :Controllerのチェック処理等をサービスに分ける(ユースケース組立)
13
+  Application service :Controllerのチェック処理等をサービスに分ける(ユースケース組立の一部?)
14
14
 
15
15
   Domain service : Repositoryの操作をサービスに分ける
16
16
 

9

訂正

2021/01/07 11:24

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -28,9 +28,7 @@
28
28
 
29
29
   ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれますが、
30
30
 
31
-  複数のデータを同時更新したい時
32
-
33
-  トランザクションを手動で実施する場合はどの層で実施すればよいでしょうか?
31
+  複数のデータを同時更新したい時、トランザクションを手動で実施する場合はどの層で実施すればよいでしょうか?
34
32
 
35
33
   現在context(データ)はRepositoryが持っています。
36
34
 
@@ -38,7 +36,7 @@
38
36
 
39
37
   ※モデルの関連モデルであれば、ORMの機能で同時にできたりはしますが
40
38
 
41
- 例えば、あるNo発行用のモデルで追加を行ってから、本来のデータモデルを追加をするような時に、同じトランザクション内で実施したい。
39
+ 例えば、あるNo発行用のモデルで追加を行ってから、本来のデータモデルを追加をするような時に、
42
40
 
43
41
   これはORMの機能では実施できなかったので、トランザクションを手動で実施する必要があります。
44
42
 

8

訂正

2021/01/07 11:23

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -30,14 +30,22 @@
30
30
 
31
31
   複数のデータを同時更新したい時
32
32
 
33
-  (ここでの複数データというのはモデルの関連モデルでなく、例えばNo発行とデータ更新を同時にしたい時など)に、
34
-
35
33
   トランザクションを手動で実施する場合はどの層で実施すればよいでしょうか?
36
34
 
37
35
   現在context(データ)はRepositoryが持っています。
38
36
 
39
37
 
40
38
 
39
+  ※モデルの関連モデルであれば、ORMの機能で同時にできたりはしますが
40
+
41
+ 例えば、あるNo発行用のモデルで追加を行ってから、本来のデータモデルを追加をするような時に、同じトランザクション内で実施したい。
42
+
43
+  これはORMの機能では実施できなかったので、トランザクションを手動で実施する必要があります。
44
+
45
+
46
+
47
+
48
+
41
49
  よろしくお願いします。
42
50
 
43
51
 

7

訂正

2021/01/07 11:23

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,9 @@
28
28
 
29
29
   ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれますが、
30
30
 
31
+  複数のデータを同時更新したい時
32
+
31
-  複数データを同時更新した時(複数データはモデルの関連モデルでなく、例えばNo発行とデータ更新を同時にしたい時など)に、
33
+  (ここでの複数データうのはモデルの関連モデルでなく、例えばNo発行とデータ更新を同時にしたい時など)に、
32
34
 
33
35
   トランザクションを手動で実施する場合はどの層で実施すればよいでしょうか?
34
36
 

6

訂正

2021/01/07 11:18

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,9 @@
28
28
 
29
29
   ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれますが、
30
30
 
31
+  複数のデータを同時更新したい時(複数データはモデルの関連モデルでなく、例えばNo発行とデータ更新を同時にしたい時など)に、
32
+
31
-  複数のデータを同時更新したい時に、トランザクションを手動で実施したい時はどの層で実施すればよいでしょうか?
33
+  トランザクションを手動で実施する場合はどの層で実施すればよいでしょうか?
32
34
 
33
35
   現在context(データ)はRepositoryが持っています。
34
36
 

5

訂正

2021/01/07 11:18

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -204,4 +204,6 @@
204
204
 
205
205
  services.AddDbContext<MvcDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("MvcConnection")));
206
206
 
207
+ services.AddRepository();
208
+
207
- ```
209
+ ```

4

訂正

2021/01/07 11:04

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -204,6 +204,4 @@
204
204
 
205
205
  services.AddDbContext<MvcDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("MvcConnection")));
206
206
 
207
- }
208
-
209
- ```
207
+ ```

3

訂正

2021/01/07 11:03

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -158,11 +158,11 @@
158
158
 
159
159
  public class DepartmentRepository : IDepartmentRepository {
160
160
 
161
- private readonly AddDbContext _context;
161
+ private readonly MvcDbContext _context;
162
-
163
-
164
-
162
+
163
+
164
+
165
- public DepartmentRepository(AddDbContext context) {
165
+ public DepartmentRepository(MvcContext context) {
166
166
 
167
167
  this._context = context;
168
168
 
@@ -195,3 +195,15 @@
195
195
  }
196
196
 
197
197
  ```
198
+
199
+
200
+
201
+ Startup
202
+
203
+ ```C#
204
+
205
+ services.AddDbContext<MvcDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("MvcConnection")));
206
+
207
+ }
208
+
209
+ ```

2

訂正

2021/01/07 11:03

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,9 @@
28
28
 
29
29
   ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれますが、
30
30
 
31
-  トランザクションを手動で実施したい時はどの層で実施すればよいでしょうか?
31
+  複数のデータを同時更新したい時に、トランザクションを手動で実施したい時はどの層で実施すればよいでしょうか?
32
+
33
+  現在context(データ)はRepositoryが持っています。
32
34
 
33
35
 
34
36
 

1

訂正

2021/01/07 10:59

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
-  ORM(C#のEntity Framwork Core)を使用し、RepogitoryでSaveChangesAsyncをすればコミットしてくれますが、
29
+  ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれますが、
30
30
 
31
31
   トランザクションを手動で実施したい時はどの層で実施すればよいでしょうか?
32
32