回答編集履歴

3

修正

2016/10/19 01:50

投稿

ishi9
ishi9

スコア1294

test CHANGED
@@ -1,16 +1,12 @@
1
1
  正直あまりいい書き方、というかあまり意味のある書き方ではないのかなと思います。
2
2
 
3
- 問題点
4
-
5
- ・設定一つ追加するのに、インターフェース実装クラス両方に対してプロパティを書といけない(二度手間)
3
+ やりたいことに対して手間だけがかってる印象です。
6
-
7
- ・新しいクラスが追加されると、インターフェースが一つ増える、AppWholeConfigの親が一つ増える、やはり新しいプロパティを最低二回書かないといけない
8
4
 
9
5
 
10
6
 
11
7
  前の回答者様の回答を見た上での回答なのでちょっとずるいですが、
12
8
 
13
- 質問者様のやりたいことを実現したいなら単に設定の情報を持たせたクラスを一つ作ればいいだけだと思います。で、どこからでも使えるようにシングルトンとして実装するといいかもしれませんね。
9
+ 質問者様のやりたいことを実現したいなら単に全ての設定の情報を持たせたクラスを一つ作ればいいだけだと思います。で、どこからでも使えるようにシングルトンとして実装するといいかもしれませんね。
14
10
 
15
11
  ```C#
16
12
 

2

修正

2016/10/19 01:50

投稿

ishi9
ishi9

スコア1294

test CHANGED
@@ -4,9 +4,7 @@
4
4
 
5
5
  ・設定一つ追加するのに、インターフェースと実装クラス両方に対してプロパティを書かないといけない(二度手間)
6
6
 
7
- ・新しいクラスが追加されると、インターフェースが一つ増える、AppWholeConfigの親が一つ増える、やはり
7
+ ・新しいクラスが追加されると、インターフェースが一つ増える、AppWholeConfigの親が一つ増える、やはり新しいプロパティを最低二回書かないといけない
8
-
9
- 新しいプロパティを最低二回書かないといけない
10
8
 
11
9
 
12
10
 

1

修正

2016/10/19 01:44

投稿

ishi9
ishi9

スコア1294

test CHANGED
@@ -1,4 +1,12 @@
1
1
  正直あまりいい書き方、というかあまり意味のある書き方ではないのかなと思います。
2
+
3
+ 問題点
4
+
5
+ ・設定一つ追加するのに、インターフェースと実装クラス両方に対してプロパティを書かないといけない(二度手間)
6
+
7
+ ・新しいクラスが追加されると、インターフェースが一つ増える、AppWholeConfigの親が一つ増える、やはり
8
+
9
+ 新しいプロパティを最低二回書かないといけない
2
10
 
3
11
 
4
12
 
@@ -8,13 +16,13 @@
8
16
 
9
17
  ```C#
10
18
 
11
- public sealed class Settings
19
+ public sealed class AppWholeConfig
12
20
 
13
21
  {
14
22
 
15
- private static Settings instance = new Settings();
23
+ private static AppWholeConfig instance = new AppWholeConfig();
16
24
 
17
- public static Settings Instance {
25
+ public static AppWholeConfig Instance {
18
26
 
19
27
  get {
20
28
 
@@ -26,17 +34,17 @@
26
34
 
27
35
 
28
36
 
29
- private Settings()
37
+ private AppWholeConfig()
30
38
 
31
39
  {
32
40
 
33
- Data1 = 1;
41
+ ConfigurationValue1 = 1;
34
42
 
35
43
  }
36
44
 
37
45
 
38
46
 
39
- public int Data1{get;set;}
47
+ public int ConfigurationValue1{get;set;}
40
48
 
41
49
  public string Path1 {get;set;}
42
50
 
@@ -48,8 +56,8 @@
48
56
 
49
57
  ///使い方
50
58
 
51
- int data1 = Settings.Instance.Data1;
59
+ int data1 = AppWholeConfig.Instance.ConfigurationValue1;
52
60
 
53
- Settings.Instance.Path1 = @"C:\Work";
61
+ AppWholeConfig.Instance.Path1 = @"C:\Work";
54
62
 
55
63
  ```