ひがやすを技術ブログ

電通国際情報サービスのプログラマ

ロジックをアトミックになるまでばらす

ロジックをアトミックになるまでばらすという、それは構造化ですね、という方向が見えているのだ

構造化の定義をどうするかによって変わってくると思いますが、トップダウンに段階的に詳細化するのが構造化ということなら、私の考えとは異なります。
DIの世界のコンポーネントは、自分とその直接の友人としかお話をしません。Don't talk to stranger(デメテルの法則、最小知識原則)ですね。もしかしたら、実際(実装)は友人がさらに友人を持っているのかもしれないのですが、インターフェースとしかお話をしないので、友達の実装がどうなっているのかは関係ないのです。かなりフラットな構造だといえるでしょう。
これは、構造化手法の問題点である上位のレベルの実装が下位のレベルの実装に依存するということに対する答えでもあります。実装には依存しないのです。DIPの原則ですね。
従来のオブジェクト指向においても、オブジェクトの構造というものが存在し、構造をたどりながら必要なオブジェクトを探して使っていました。構造に依存しているわけです。構造を変えると影響が大きいので、構造を変えないように最初からモデルをきちんと設計することが必要になります。
ただ、人は完璧ではないので、途中で構造の変更が必要になり、痛みを受けることになります。
DIの世界には、構造がありません。つまり、構造の変更を受けることはないのです。