回答編集履歴
5
誤字の修正
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
例えば、常に値が共有され続けるならばクラスDはシングルトンにすればいいでしょう。とあるシーン(画面中)でのみ同じという場合にはその都度生成し、ABCのインスタンス化時に同じDインスタンスを渡します。
|
10
10
|
|
11
|
-
疎結合を保て、利用すべきシナリオに合わせて共有方法が変えられるというのがDIのメリットです。デメリットとしては、Dの取得元(インスタンス化方法)を参照することでしか共有方法が分からな
|
11
|
+
疎結合を保て、利用すべきシナリオに合わせて共有方法が変えられるというのがDIのメリットです。デメリットとしては、Dの取得元(インスタンス化方法)を参照することでしか共有方法が分からないことや、コーディング量が増えてしまうというのがあり、最初の方は使いこなすまでに慣れがいると思います。
|
12
12
|
|
13
13
|
|
14
14
|
|
4
言い回しの修正(の→を)
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
Dependency Injectionとは、依存性を外から注入する…という意味です。masuoさんの例の場合は、「値
|
7
|
+
Dependency Injectionとは、依存性を外から注入する…という意味です。masuoさんの例の場合は、「値を共有するためのオブジェクトを渡してあげる」ということです。この利点は、DのスコープによってABCクラスで共有する値のスコープも変えることができることです。
|
8
8
|
|
9
9
|
例えば、常に値が共有され続けるならばクラスDはシングルトンにすればいいでしょう。とあるシーン(画面中)でのみ同じという場合にはその都度生成し、ABCのインスタンス化時に同じDインスタンスを渡します。
|
10
10
|
|
3
factoryのcreateAメソッドにstaticを追加
test
CHANGED
@@ -90,7 +90,7 @@
|
|
90
90
|
|
91
91
|
|
92
92
|
|
93
|
-
public A createA()
|
93
|
+
public static A createA()
|
94
94
|
|
95
95
|
{
|
96
96
|
|
2
言い回しの訂正
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
Dependency Injectionとは、依存性を外から注入する…という意味です。masuoさんの例の場合は、「値の共有するためのオブジェクトを渡してあげる」ということです。この利点は、DのスコープによってABCクラス
|
7
|
+
Dependency Injectionとは、依存性を外から注入する…という意味です。masuoさんの例の場合は、「値の共有するためのオブジェクトを渡してあげる」ということです。この利点は、DのスコープによってABCクラスで共有する値のスコープも変えることができることです。
|
8
8
|
|
9
9
|
例えば、常に値が共有され続けるならばクラスDはシングルトンにすればいいでしょう。とあるシーン(画面中)でのみ同じという場合にはその都度生成し、ABCのインスタンス化時に同じDインスタンスを渡します。
|
10
10
|
|
1
return が抜けていたので修正
test
CHANGED
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
{
|
44
44
|
|
45
|
-
d.getValue();
|
45
|
+
return d.getValue();
|
46
46
|
|
47
47
|
}
|
48
48
|
|
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
|
52
52
|
|
53
|
-
//
|
53
|
+
// 他のBCについて同様、Dはvalueプロパティを持つだけのbeanみたいなものです(この例では)
|
54
54
|
|
55
55
|
public class B;
|
56
56
|
|