ちょうぜつマジックショーへようこそ。こちらは、無限に続く多重下請けのイリュージョンでございます。いかがですか。
...いけない、おこられてしまう。
こういう、部分と全体が同じ形をした再帰的ツリー構造はかっこいいし、実際に扱いもシンプルでいいよねって、よくやりますね。そんなふうにモデルを一般化したものには Composite パターンという名前が付いています。
OS のファイルシステムは、ルートにディレクトリがあり、ディレクトリにはファイルとディレクトリが任意数入る。で、そこから取り出した 1 つのディレクトリに着目すると、それもまた、ファイルとディレクトリを持てる。Composite パターンの説明によくある例です。
当時とは違って、今なら HTML の DOM 構造も Composite パターンのいい例になるかもしれません。ルートタグ <html>
があり、他の要素を持てる <div>
などの要素と、テキストのみを持てて終端する <p>
などの要素による、典型的な再帰構造です。プログラム言語をパースした AST も Composite と呼べるかもしれません。
多重下請けマジックショーでも、最後はたぶん、フリーランスの個人で終端します。発注者がやろうと思えば、最初の一次請けとだけではなく、二次請け三次請けの特定の会社と取引するとしても、基本的に同じオペレーションが可能です。
ええ、もちろんこれは、ちょうぜつアジャイルなワークスタイルのめもりーちゃんにしてみれば、軽いブラックジョークですから。ご安心を