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

回答編集履歴

3

追記

2016/07/16 01:41

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -19,4 +19,18 @@
19
19
  つまり、house.getBathTemplature()は、Houseに含まれるBathControllerからお湯の温度を獲得するわけですね。
20
20
  更にどちらかと言うと、getBathTemplature()で取得できる値は設定温度で、他に風呂の温度が規定範囲内か外かのフラグを返す関数が別途ある印象を受けます。
21
21
 
22
- 要するに、yubaさんの見解に賛成です。
22
+ 要するに、yubaさんの見解に賛成です。
23
+
24
+ ---
25
+ 【追記】
26
+ iwamoto_takaakiさんへのコメントを見て追記しています。
27
+
28
+ PNG画像データは構造を持っていますね。その各構造をオブジェクト指向的なクラスとして実装するのは間違いと私は考えています。
29
+ 「PNG画像データに何かメッセージを送って何らかの処理をさせる」がオブジェクト指向的な発想ですね。
30
+ しかし、PNG画像データは単にデータに過ぎず、自律的に何かの処理を行うのは違和感が強いです。
31
+
32
+ そのようなデータを保持することが主目的な構造データは「構造体」です。
33
+ それは、全てのデータはpublicフィールドで保持し、メソッドはコンストラクタくらいしか持たないものをイメージしています。
34
+
35
+ そのように考えるとすっきり設計できるのではないでしょうか?
36
+ 逆に、この概念を排除すると、今回悩まれているようにPNG画像データのような多少複雑な構造を持つデータのハンドリングが悩ましくなります。

2

表現修正

2016/07/16 01:40

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -16,7 +16,7 @@
16
16
  そして、実は、風呂の温度を家の外から取得できると言うことは、風呂桶には温度計が付いていて、Bathroomもしくは、Houseの中にお風呂のコントローラが設置されていると思います。
17
17
  つまり、温度は温度計が計測し、その温度情報は風呂の水の中にあるのではなく、お風呂のコントローラが保持している姿になるケースが多いように感じます。
18
18
 
19
- つまり、house.getBathTemplature()は、Houseに含まれるBathControllerからお湯の温度を獲得するように思います。
19
+ つまり、house.getBathTemplature()は、Houseに含まれるBathControllerからお湯の温度を獲得するわけで
20
- 更にどちらかと言うと、getBathTemplature()で取得できる値は設定温度で、他に風呂の温度が規定範囲内か外かのフラグを返す関数が別途あるイメージがありがちな印象を受けます。
20
+ 更にどちらかと言うと、getBathTemplature()で取得できる値は設定温度で、他に風呂の温度が規定範囲内か外かのフラグを返す関数が別途ある印象を受けます。
21
21
 
22
22
  要するに、yubaさんの見解に賛成です。

1

typo

2016/07/15 12:02

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -19,4 +19,4 @@
19
19
  つまり、house.getBathTemplature()は、Houseに含まれるBathControllerからお湯の温度を獲得するように思います。
20
20
  更にどちらかと言うと、getBathTemplature()で取得できる値は設定温度で、他に風呂の温度が規定範囲内か外かのフラグを返す関数が別途あるイメージがありがちな印象を受けます。
21
21
 
22
- 要するに、Yubaさんの見解に賛成です。
22
+ 要するに、yubaさんの見解に賛成です。