09/04/20 03:42:14 Rm+qn+U+
>>510
> クラスは 『データ構造(型)に処理をバインドしたもの』。つまりジョブの構造体なわけで
クラスは『データ構造(型)に処理をバインドしたもの』という概念だとタスクシステム方面に行きつくぞ。
クラスは『データ構造(型)』(ただしアクセサ経由でしかアクセスできません)という概念の方が良いぞ。
あくまでデータ主体。
もしデータ+処理という別次元の概念をバインドしたものと考えてしまうと
そのクラスの主目的が不明確になる。
「このクラスはalgorithmを実装したものなのか、データ構造を実装したものなのか」
ってね。
直交する概念は別classとして切り離しておくのが吉。
「クラスは「データ+処理」」って概念はエンティティとかエージェント指向みたいな概念と
親和性が高いからやりたくなる。
だけどエンティティなんてものは設計の中でもかなり上層に位置づけられるもので
たくさんのクラスを組み合わせてようやく実装できるシロモノ。
全てのクラスがエンティティで相互通信してるという考えで系を構築しようとすると破綻するよ。
こういう些細な方針の違いが規模大きくなった時にはド派手に効いてくる。