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

回答編集履歴

5

誤字の修正

2016/12/13 01:54

投稿

haru666
haru666

スコア1593

answer CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  Dependency Injectionとは、依存性を外から注入する…という意味です。masuoさんの例の場合は、「値を共有するためのオブジェクトを渡してあげる」ということです。この利点は、DのスコープによってABCクラスで共有する値のスコープも変えることができることです。
5
5
  例えば、常に値が共有され続けるならばクラスDはシングルトンにすればいいでしょう。とあるシーン(画面中)でのみ同じという場合にはその都度生成し、ABCのインスタンス化時に同じDインスタンスを渡します。
6
- 疎結合を保て、利用すべきシナリオに合わせて共有方法が変えられるというのがDIのメリットです。デメリットとしては、Dの取得元(インスタンス化方法)を参照することでしか共有方法が分からなことや、コーディング量が増えてしまうというのがあり、最初の方は使いこなすまでに慣れがいると思います。
6
+ 疎結合を保て、利用すべきシナリオに合わせて共有方法が変えられるというのがDIのメリットです。デメリットとしては、Dの取得元(インスタンス化方法)を参照することでしか共有方法が分からなことや、コーディング量が増えてしまうというのがあり、最初の方は使いこなすまでに慣れがいると思います。
7
7
 
8
8
  ```
9
9
  public class A

4

言い回しの修正(の→を)

2016/12/13 01:54

投稿

haru666
haru666

スコア1593

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  疎結合な実装方法を探しているようですので、DI(※Dependency Injection)について説明します。
2
2
  ※どのタイミングで共有する値が変わるのか、によって実装は変わってきます。もしも保存時だけ…というのであれば、リポジトリに共有するための機能を追加していきます。
3
3
 
4
- Dependency Injectionとは、依存性を外から注入する…という意味です。masuoさんの例の場合は、「値共有するためのオブジェクトを渡してあげる」ということです。この利点は、DのスコープによってABCクラスで共有する値のスコープも変えることができることです。
4
+ Dependency Injectionとは、依存性を外から注入する…という意味です。masuoさんの例の場合は、「値共有するためのオブジェクトを渡してあげる」ということです。この利点は、DのスコープによってABCクラスで共有する値のスコープも変えることができることです。
5
5
  例えば、常に値が共有され続けるならばクラスDはシングルトンにすればいいでしょう。とあるシーン(画面中)でのみ同じという場合にはその都度生成し、ABCのインスタンス化時に同じDインスタンスを渡します。
6
6
  疎結合を保て、利用すべきシナリオに合わせて共有方法が変えられるというのがDIのメリットです。デメリットとしては、Dの取得元(インスタンス化方法)を参照することでしか共有方法が分からなることや、コーディング量が増えてしまうというのがあり、最初の方は使いこなすまでに慣れがいると思います。
7
7
 

3

factoryのcreateAメソッドにstaticを追加

2016/12/09 02:45

投稿

haru666
haru666

スコア1593

answer CHANGED
@@ -44,7 +44,7 @@
44
44
  return d;
45
45
  }
46
46
 
47
- public A createA()
47
+ public static A createA()
48
48
  {
49
49
  return new A(getD());
50
50
  }

2

言い回しの訂正

2016/12/09 02:14

投稿

haru666
haru666

スコア1593

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  疎結合な実装方法を探しているようですので、DI(※Dependency Injection)について説明します。
2
2
  ※どのタイミングで共有する値が変わるのか、によって実装は変わってきます。もしも保存時だけ…というのであれば、リポジトリに共有するための機能を追加していきます。
3
3
 
4
- Dependency Injectionとは、依存性を外から注入する…という意味です。masuoさんの例の場合は、「値の共有するためのオブジェクトを渡してあげる」ということです。この利点は、DのスコープによってABCクラス全体の共有する値のスコープも変えることができることです。
4
+ Dependency Injectionとは、依存性を外から注入する…という意味です。masuoさんの例の場合は、「値の共有するためのオブジェクトを渡してあげる」ということです。この利点は、DのスコープによってABCクラス共有する値のスコープも変えることができることです。
5
5
  例えば、常に値が共有され続けるならばクラスDはシングルトンにすればいいでしょう。とあるシーン(画面中)でのみ同じという場合にはその都度生成し、ABCのインスタンス化時に同じDインスタンスを渡します。
6
6
  疎結合を保て、利用すべきシナリオに合わせて共有方法が変えられるというのがDIのメリットです。デメリットとしては、Dの取得元(インスタンス化方法)を参照することでしか共有方法が分からなることや、コーディング量が増えてしまうというのがあり、最初の方は使いこなすまでに慣れがいると思います。
7
7
 

1

return が抜けていたので修正

2016/12/09 02:11

投稿

haru666
haru666

スコア1593

answer CHANGED
@@ -20,11 +20,11 @@
20
20
  }
21
21
  public getValue()
22
22
  {
23
- d.getValue();
23
+ return d.getValue();
24
24
  }
25
25
  }
26
26
 
27
- // 全てABCについて同様
27
+ // BCについて同様、Dはvalueプロパティを持つだけのbeanみたいなものです(この例では)
28
28
  public class B;
29
29
  public class C;
30
30