質問編集履歴
25
title
CHANGED
File without changes
|
body
CHANGED
@@ -30,7 +30,7 @@
|
|
30
30
|
|
31
31
|
|
32
32
|
(引用) オニオンアーキテクチャとは何か
|
33
|
-
[https://qiita.com/cocoa-maemae/items/e3f2eabbe0877c2af8d0
|
33
|
+
[https://qiita.com/cocoa-maemae/items/e3f2eabbe0877c2af8d0](https://qiita.com/cocoa-maemae/items/e3f2eabbe0877c2af8d0)
|
34
34
|
|
35
35
|

|
36
36
|
|
24
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
|
7
7
|
・Application serviceとDomain serviceの違いがわかりません。
|
8
8
|
|
9
|
-
Application service :下記のソースコードを例とするとControllerのチェック処理等をApplication Serviceに分ける?
|
9
|
+
Application service :下記のソースコードを例とするとControllerのチェック処理等をApplication Serviceに分ける?(ユースケース組立の一部?)
|
10
|
-
|
10
|
+
|
11
11
|
Domain service : 下記のソースコードを例とすると、Controllerで使用しようとしていたRepositoryをDomain serviceに分ける(ControllerでServiceを操作する)
|
12
12
|
|
13
13
|
のようなことでしょうか?
|
23
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
Application service :下記のソースコードを例とするとControllerのチェック処理等をApplication Serviceに分ける?
|
10
10
|
(ユースケース組立の一部?)
|
11
|
-
Domain service : 下記のソースコードを例とすると、Controllerで使用しようとしていたRepositoryを
|
11
|
+
Domain service : 下記のソースコードを例とすると、Controllerで使用しようとしていたRepositoryをDomain serviceに分ける(ControllerでServiceを操作する)
|
12
12
|
|
13
13
|
のようなことでしょうか?
|
14
14
|
|
22
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
Application service :下記のソースコードを例とするとControllerのチェック処理等をApplication Serviceに分ける?
|
10
10
|
(ユースケース組立の一部?)
|
11
|
-
Domain service : 下記のソースコードを例とすると、Repository
|
11
|
+
Domain service : 下記のソースコードを例とすると、Controllerで使用しようとしていたRepositoryをサービスに分ける(ControllerでServiceを操作する)
|
12
12
|
|
13
13
|
のようなことでしょうか?
|
14
14
|
|
21
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
Application service :下記のソースコードを例とするとControllerのチェック処理等をApplication Serviceに分ける?
|
10
10
|
(ユースケース組立の一部?)
|
11
|
-
Domain service : 下記のソースコードを例とすると、Repositoryの操作をサービスに分ける
|
11
|
+
Domain service : 下記のソースコードを例とすると、Repositoryの操作をサービスに分ける(ControllerでServiceを操作する)
|
12
12
|
|
13
13
|
のようなことでしょうか?
|
14
14
|
|
20
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,8 +6,9 @@
|
|
6
6
|
|
7
7
|
・Application serviceとDomain serviceの違いがわかりません。
|
8
8
|
|
9
|
-
Application service :Controllerのチェック処理等を
|
9
|
+
Application service :下記のソースコードを例とするとControllerのチェック処理等をApplication Serviceに分ける?
|
10
|
+
(ユースケース組立の一部?)
|
10
|
-
Domain service : Repositoryの操作をサービスに分ける
|
11
|
+
Domain service : 下記のソースコードを例とすると、Repositoryの操作をサービスに分ける
|
11
12
|
|
12
13
|
のようなことでしょうか?
|
13
14
|
|
19
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,22 +12,19 @@
|
|
12
12
|
のようなことでしょうか?
|
13
13
|
|
14
14
|
・Mvcフレームワーク自体にもStartupにserviceの機能があるようです。
|
15
|
-
(コンストラクタでデータのcontext(MvcContext)を利用できたりする)
|
15
|
+
(依存性の注入というものが行われているようです。コンストラクタでデータのcontext(MvcContext)を利用できたりする)
|
16
16
|
これはApplication Serviceに該当するのでしょうか。
|
17
17
|
|
18
18
|
|
19
19
|
② 手動トランザクションについて
|
20
20
|
下記に記載のコード(C#)ですが、他の言語でも似たようなことかもしれませんが、
|
21
21
|
|
22
|
-
ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれます
|
22
|
+
ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれます。
|
23
|
-
複数のデータを同時更新したい時、
|
23
|
+
複数のデータを同時更新したい時、ORMの機能でできる時もあります。
|
24
|
-
現在context(データ)はRepositoryが持っています。
|
24
|
+
また、現在context(データ)はRepositoryが持っています。
|
25
25
|
|
26
|
-
※モデルの関連モデルであれば、ORMの機能で同時にできますが
|
27
|
-
例えば、あるNo発行用のモデルで追加を行ってから、本来のデータモデルを追加をするような時に、
|
28
|
-
|
26
|
+
それでも任意でトランザクションを手動で実施したい場合はどの層で実施すればよいでしょうか?
|
29
27
|
|
30
|
-
|
31
28
|
よろしくお願いします。
|
32
29
|
|
33
30
|
|
18
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -23,7 +23,7 @@
|
|
23
23
|
複数のデータを同時更新したい時、トランザクションを手動で実施する場合はどの層で実施すればよいでしょうか?
|
24
24
|
現在context(データ)はRepositoryが持っています。
|
25
25
|
|
26
|
-
※モデルの関連モデルであれば、ORMの機能で同時にでき
|
26
|
+
※モデルの関連モデルであれば、ORMの機能で同時にできますが
|
27
27
|
例えば、あるNo発行用のモデルで追加を行ってから、本来のデータモデルを追加をするような時に、
|
28
28
|
これはORMの機能では実施できなかったので、トランザクションを手動で実施する必要があります。
|
29
29
|
|
17
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
クリーンアーキテクチャ(オニオンアーキテクチャ)について勉強しています。
|
2
|
-
サービス層とトランザクションについて教えてください。
|
2
|
+
サービス層と手動トランザクションについて教えてください。
|
3
3
|
|
4
4
|
① サービス層について
|
5
5
|
下記の引用先の記事と図ですが、
|
@@ -16,7 +16,7 @@
|
|
16
16
|
これはApplication Serviceに該当するのでしょうか。
|
17
17
|
|
18
18
|
|
19
|
-
② トランザクションについて
|
19
|
+
② 手動トランザクションについて
|
20
20
|
下記に記載のコード(C#)ですが、他の言語でも似たようなことかもしれませんが、
|
21
21
|
|
22
22
|
ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれますが、
|
16
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,15 +4,16 @@
|
|
4
4
|
① サービス層について
|
5
5
|
下記の引用先の記事と図ですが、
|
6
6
|
|
7
|
-
Application serviceとDomain serviceの違いがわかりません。
|
7
|
+
・Application serviceとDomain serviceの違いがわかりません。
|
8
8
|
|
9
|
-
|
9
|
+
Application service :Controllerのチェック処理等をサービスに分ける(ユースケース組立の一部?)
|
10
|
-
|
10
|
+
Domain service : Repositoryの操作をサービスに分ける
|
11
11
|
|
12
|
-
|
12
|
+
のようなことでしょうか?
|
13
13
|
|
14
|
-
|
14
|
+
・Mvcフレームワーク自体にもStartupにserviceの機能があるようです。
|
15
|
-
|
15
|
+
(コンストラクタでデータのcontext(MvcContext)を利用できたりする)
|
16
|
+
これはApplication Serviceに該当するのでしょうか。
|
16
17
|
|
17
18
|
|
18
19
|
② トランザクションについて
|
15
説明
title
CHANGED
File without changes
|
body
CHANGED
@@ -112,5 +112,5 @@
|
|
112
112
|
Startup
|
113
113
|
```C#
|
114
114
|
services.AddDbContext<MvcDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("MvcConnection")));
|
115
|
-
services.
|
115
|
+
services.AddTransient<IDepartmentRepository, DepartmentRepository>();
|
116
116
|
```
|
14
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
のようなことでしょうか?
|
13
13
|
|
14
|
-
そしてMvcフレームワーク自体にもserviceの機能があるようです。
|
14
|
+
そしてMvcフレームワーク自体にもStartupにserviceの機能があるようです。
|
15
15
|
(コンストラクタでデータのcontext(MvcContext)を利用できたりする)
|
16
16
|
|
17
17
|
|
13
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
サービス層とトランザクションについて教えてください。
|
3
3
|
|
4
4
|
① サービス層について
|
5
|
+
下記の引用先の記事と図ですが、
|
6
|
+
|
5
7
|
Application serviceとDomain serviceの違いがわかりません。
|
6
8
|
|
7
9
|
Application service :Controllerのチェック処理等をサービスに分ける(ユースケース組立の一部?)
|
12
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,7 +9,8 @@
|
|
9
9
|
|
10
10
|
のようなことでしょうか?
|
11
11
|
|
12
|
+
そしてMvcフレームワーク自体にもserviceの機能があるようです。
|
12
|
-
|
13
|
+
(コンストラクタでデータのcontext(MvcContext)を利用できたりする)
|
13
14
|
|
14
15
|
|
15
16
|
② トランザクションについて
|
11
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,9 +6,12 @@
|
|
6
6
|
|
7
7
|
Application service :Controllerのチェック処理等をサービスに分ける(ユースケース組立の一部?)
|
8
8
|
Domain service : Repositoryの操作をサービスに分ける
|
9
|
-
|
9
|
+
|
10
10
|
のようなことでしょうか?
|
11
11
|
|
12
|
+
そしてフレームワーク自体にもserviceの機能があるようです。(コンストラクタでデータのcontext(MvcContext)を利用できたりする)
|
13
|
+
|
14
|
+
|
12
15
|
② トランザクションについて
|
13
16
|
下記に記載のコード(C#)ですが、他の言語でも似たようなことかもしれませんが、
|
14
17
|
|
10
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
① サービス層について
|
5
5
|
Application serviceとDomain serviceの違いがわかりません。
|
6
6
|
|
7
|
-
Application service :Controllerのチェック処理等をサービスに分ける(ユースケース組立)
|
7
|
+
Application service :Controllerのチェック処理等をサービスに分ける(ユースケース組立の一部?)
|
8
8
|
Domain service : Repositoryの操作をサービスに分ける
|
9
9
|
|
10
10
|
のようなことでしょうか?
|
9
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,12 +13,11 @@
|
|
13
13
|
下記に記載のコード(C#)ですが、他の言語でも似たようなことかもしれませんが、
|
14
14
|
|
15
15
|
ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれますが、
|
16
|
-
複数のデータを同時更新したい時
|
17
|
-
トランザクションを手動で実施する場合はどの層で実施すればよいでしょうか?
|
16
|
+
複数のデータを同時更新したい時、トランザクションを手動で実施する場合はどの層で実施すればよいでしょうか?
|
18
17
|
現在context(データ)はRepositoryが持っています。
|
19
18
|
|
20
19
|
※モデルの関連モデルであれば、ORMの機能で同時にできたりはしますが
|
21
|
-
例えば、あるNo発行用のモデルで追加を行ってから、本来のデータモデルを追加をするような時に、
|
20
|
+
例えば、あるNo発行用のモデルで追加を行ってから、本来のデータモデルを追加をするような時に、
|
22
21
|
これはORMの機能では実施できなかったので、トランザクションを手動で実施する必要があります。
|
23
22
|
|
24
23
|
|
8
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,10 +14,14 @@
|
|
14
14
|
|
15
15
|
ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれますが、
|
16
16
|
複数のデータを同時更新したい時
|
17
|
-
(ここでの複数データというのはモデルの関連モデルでなく、例えばNo発行とデータ更新を同時にしたい時など)に、
|
18
17
|
トランザクションを手動で実施する場合はどの層で実施すればよいでしょうか?
|
19
18
|
現在context(データ)はRepositoryが持っています。
|
20
19
|
|
20
|
+
※モデルの関連モデルであれば、ORMの機能で同時にできたりはしますが
|
21
|
+
例えば、あるNo発行用のモデルで追加を行ってから、本来のデータモデルを追加をするような時に、同じトランザクション内で実施したい。
|
22
|
+
これはORMの機能では実施できなかったので、トランザクションを手動で実施する必要があります。
|
23
|
+
|
24
|
+
|
21
25
|
よろしくお願いします。
|
22
26
|
|
23
27
|
|
7
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,7 +13,8 @@
|
|
13
13
|
下記に記載のコード(C#)ですが、他の言語でも似たようなことかもしれませんが、
|
14
14
|
|
15
15
|
ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれますが、
|
16
|
+
複数のデータを同時更新したい時
|
16
|
-
|
17
|
+
(ここでの複数データというのはモデルの関連モデルでなく、例えばNo発行とデータ更新を同時にしたい時など)に、
|
17
18
|
トランザクションを手動で実施する場合はどの層で実施すればよいでしょうか?
|
18
19
|
現在context(データ)はRepositoryが持っています。
|
19
20
|
|
6
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,7 +13,8 @@
|
|
13
13
|
下記に記載のコード(C#)ですが、他の言語でも似たようなことかもしれませんが、
|
14
14
|
|
15
15
|
ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれますが、
|
16
|
+
複数のデータを同時更新したい時(複数データはモデルの関連モデルでなく、例えばNo発行とデータ更新を同時にしたい時など)に、
|
16
|
-
|
17
|
+
トランザクションを手動で実施する場合はどの層で実施すればよいでしょうか?
|
17
18
|
現在context(データ)はRepositoryが持っています。
|
18
19
|
|
19
20
|
よろしくお願いします。
|
5
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -101,4 +101,5 @@
|
|
101
101
|
Startup
|
102
102
|
```C#
|
103
103
|
services.AddDbContext<MvcDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("MvcConnection")));
|
104
|
+
services.AddRepository();
|
104
105
|
```
|
4
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -101,5 +101,4 @@
|
|
101
101
|
Startup
|
102
102
|
```C#
|
103
103
|
services.AddDbContext<MvcDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("MvcConnection")));
|
104
|
-
}
|
105
104
|
```
|
3
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -78,9 +78,9 @@
|
|
78
78
|
DepartmentRepository ※インタフェースの記載は省略します。
|
79
79
|
```C#
|
80
80
|
public class DepartmentRepository : IDepartmentRepository {
|
81
|
-
private readonly
|
81
|
+
private readonly MvcDbContext _context;
|
82
82
|
|
83
|
-
public DepartmentRepository(
|
83
|
+
public DepartmentRepository(MvcContext context) {
|
84
84
|
this._context = context;
|
85
85
|
}
|
86
86
|
|
@@ -96,4 +96,10 @@
|
|
96
96
|
return 1;
|
97
97
|
}
|
98
98
|
}
|
99
|
+
```
|
100
|
+
|
101
|
+
Startup
|
102
|
+
```C#
|
103
|
+
services.AddDbContext<MvcDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("MvcConnection")));
|
104
|
+
}
|
99
105
|
```
|
2
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,7 +13,8 @@
|
|
13
13
|
下記に記載のコード(C#)ですが、他の言語でも似たようなことかもしれませんが、
|
14
14
|
|
15
15
|
ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれますが、
|
16
|
-
トランザクションを手動で実施したい時はどの層で実施すればよいでしょうか?
|
16
|
+
複数のデータを同時更新したい時に、トランザクションを手動で実施したい時はどの層で実施すればよいでしょうか?
|
17
|
+
現在context(データ)はRepositoryが持っています。
|
17
18
|
|
18
19
|
よろしくお願いします。
|
19
20
|
|
1
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
② トランザクションについて
|
13
13
|
下記に記載のコード(C#)ですが、他の言語でも似たようなことかもしれませんが、
|
14
14
|
|
15
|
-
ORM(C#のEntity Framwork Core)を使用し、
|
15
|
+
ORM(C#のEntity Framwork Core)を使用し、RepositoryでSaveChangesAsyncをすればコミットしてくれますが、
|
16
16
|
トランザクションを手動で実施したい時はどの層で実施すればよいでしょうか?
|
17
17
|
|
18
18
|
よろしくお願いします。
|