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

質問編集履歴

4

更新

2017/07/20 23:18

投稿

piglet
piglet

スコア47

title CHANGED
File without changes
body CHANGED
@@ -7,20 +7,26 @@
7
7
  class Strage
8
8
  {
9
9
  public static Strage instance;
10
+
11
+ struct data _data; // 設定を保持する構造体
12
+
10
- public メソッド1();
13
+ public setData();
11
- public メソッド2();
14
+ public getData();
15
+ public Dispose();
12
16
  }
13
17
 
14
18
  public static void Main()
15
19
  {
16
20
  Strage.instance = new Strage(); //インスタンス生成
17
-
18
- Strage.instance.メソッド1();
21
+ Strage.instance.setData(); //設定値をセット
19
- Strage.instance.メソッド2();
20
-
21
22
  Strage.instance.Dispose(); //破棄
22
23
  }
23
24
 
25
+ public Class1
26
+ {
27
+ Strage.instance.getData(); //設定値を習得
28
+ }
29
+
24
30
  ```
25
31
  どうやら設定を保持するクラスで、プログラム全体で使いまわすため
26
32
  単一のインスタンスだけを持たせたい。広域変数的に扱いたい といった目的が垣間見られます

3

変更

2017/07/20 23:18

投稿

piglet
piglet

スコア47

title CHANGED
File without changes
body CHANGED
@@ -18,7 +18,7 @@
18
18
  Strage.instance.メソッド1();
19
19
  Strage.instance.メソッド2();
20
20
 
21
- Strage.Dispose(); //破棄
21
+ Strage.instance.Dispose(); //破棄
22
22
  }
23
23
 
24
24
  ```

2

説明文の変更

2017/07/20 23:14

投稿

piglet
piglet

スコア47

title CHANGED
File without changes
body CHANGED
@@ -7,8 +7,8 @@
7
7
  class Strage
8
8
  {
9
9
  public static Strage instance;
10
- メソッド1();
10
+ public メソッド1();
11
- メソッド2();
11
+ public メソッド2();
12
12
  }
13
13
 
14
14
  public static void Main()
@@ -25,6 +25,6 @@
25
25
  どうやら設定を保持するクラスで、プログラム全体で使いまわすため
26
26
  単一のインスタンスだけを持たせたい。広域変数的に扱いたい といった目的が垣間見られます
27
27
  自分は感心して、広域クラス(変数?)を宣言するよりいいなと思ったのですが
28
- 1. 設計としてはどうなのでしょうか?
28
+ 1. Main()に広域クラスを持たせて使いまわすのと比べ設計としてはどうなのでしょうか?
29
29
  2. よくあるパターンで〇〇パターンとか名前がついているのでしょうか?
30
30
  3. また、メリットとデメリットを教えてください

1

タイトル名の変更

2017/07/20 23:13

投稿

piglet
piglet

スコア47

title CHANGED
@@ -1,1 +1,1 @@
1
- コンストラタの内部でnew
1
+ ラス内部にstatc自己のインスタンスを持つ
body CHANGED
File without changes