Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

アナリシスパターン「観測と測定」

アナリシスパターン―再利用可能なオブジェクトモデル (Object Technology Series)の読書会が会社であって。
今日は「観測と測定」だった。


まずは量の概念。
たとえば人間における身長とか体重とか中性脂肪とかを定義するとき、
属性として数値(int, Integer)で定義してしまうと、それだけでは単位がわからなくなる。
だから量を定義して、そこに単位と数量を持たせるって考え方。


そして測定パターン。
こうして人間にいろいろな属性を定義すると、属性が増えていく。
新しい属性を増やせば再定義する必要があるわけで、変更に弱い。
人間と量の間に測定オブジェクトをはさみ、量を間接化する。
「じゅく:人間」―「身長測定:測定」―「:量」のイメージ。
量は数量167, 単位cmってことね。
人間と測定の多重度を1:多にして、測定を増やすときに静的に定義を増やさなくてもよくなる。


さらに測定にパワータイプの概念を持ちこんで、測定のパワータイプとして測定型を定義。
身長測定とか中性脂肪測定を測定型にする。


モデリングに正解はなく、対象ドメインに応じてバランスを取りながらモデリングする必要がある。
けど実際には量みたいな単純な概念すら導入してるプロジェクトを見たことがない。
検討した結果導入しないんじゃなく、検討すらされていない。


実装がややこしくなるから??それとも誰も知らないから??必要がないから??