質問編集履歴
1
追記・修正依頼に関して、まとめて質問の下部に記述しました。また、言葉足らずな部分もやや補いました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -31,3 +31,28 @@
|
|
31
31
|
この違和感はどう克服すれば良いのでしょうか。クラス設計はケースバイケースとも聞くので「上下関係という認識を捨てる」のも選択肢なのでしょうか。はたまた私が知らない「もっといい方法がある」のでしょうか。アドバイスを頂きたいです。
|
32
32
|
|
33
33
|
※なるべく誤解の無いように詳しく書いたところ、かなりの長文になってしまいました。ここまでお読みいただきありがとうございます。ここに書かれていない事情もあるのですが、それを書き始めるととんでもなく長くなるので、適宜お伝えします。
|
34
|
+
|
35
|
+
### 追記・修正について
|
36
|
+
ご依頼ありがとうございます。
|
37
|
+
|
38
|
+
【上下関係について】
|
39
|
+
上下関係というのはhas-a関係や規模の大小などで決めています。基本はhas-aで決めていこうと心に誓っていたものの、複数のクラスが共通して1つのものを持ってる場合等、よくわからなくなった時は、規模で決めています。
|
40
|
+
|
41
|
+
とはいえ、実体があるものとないものが混在しているため、何をもって規模が大きいかは感覚で決めています。そのため、具体的な意味は上記のような曖昧な基準となります。
|
42
|
+
|
43
|
+
例えば車と法律の規模を比べてと言われたら、そもそも比べるのが間違いかもしれませんが、「法律>車」という事がイメージされます。
|
44
|
+
|
45
|
+
上下関係はこれくらい曖昧です。なので「上下関係と捉えるのが間違い?」という項目で、そもそも上下関係なんて付けるから、感覚に反する構造になるのでは?という事を語るつもりだったのですが、忘れていました。言葉足らずとなってしまいすみません。
|
46
|
+
|
47
|
+
【違和感について】
|
48
|
+
これは「困っているけど質問が言語化できない」という段階から何とか言語化した質問になります。「違和感」というのは何故困っているのかを言語化した時に最も現状に当てはまる表現だったので使いました。しかし、質問本体を「違和感」一語で済ませるとわかりにくかったかもしれません。すみません。
|
49
|
+
|
50
|
+
私はその違和感の正体は「全体に関わるクラスが下層に来ている」ことであると書きました。つまり、違和感の克服とは「全体に関わるクラスが下層に来ている」という状態を克服することです。
|
51
|
+
|
52
|
+
では何故「全体に関わるクラスが下層に来ている」かというと、Noteクラスがパフォーマンス重視であるため・そもそも上下関係を付ける事が間違っているため…と見当を付けています。
|
53
|
+
|
54
|
+
なので質問本体を書き換えるなら、
|
55
|
+
「全体に関わるクラスが下層に来ている原因は上記の通りですが、上下関係という認識を捨てるべきなのでしょうか?それとも私の知らない方法があって、それを使えば解決できるのでしょうか?みなさんの経験から考えて、どのように対処すべきか教えてください。」
|
56
|
+
となると思います。
|
57
|
+
|
58
|
+
想定する回答には「上下関係という認識は捨て、具体と抽象で考える方が適切に思えます(上下関係の是非)」や「〇〇を継承するとデータだけ別の括りで管理できます(知らない方法)」のようなものを期待しています。
|