GoFのデザインパターンのコンポジット(Composite)のRubyコードを使った紹介記事です。 😸 コンポジットとは?「全体〜部分」(個別のオブジェクトと合成したオブジェクト)を同一のものとしてとらえることで、再帰的な構造をクラスで表現することをCompositeデザインパターンと呼びます。「全体〜部分」は同じインタフェースを継承します。 コンポジットは次の3つの要素によって構成されます。 コンポーネント(Component):すべてのオブジェクトの基底となるクラス リーフ(Leaf):プロセスの単純な構成要素、再帰しない コンポジット(Composite):コンポーネントのひとつでサブコンポーネントを構成 例としては、ディレクトリとフォルダを同様のコンポーネントとして扱うことで、削除処理などを再帰的に行えるようにできることが挙げられます。ちなみに「再帰」とは、ある処理の中で再びその
![コンポジット(Composite) | Ruby デザインパターン](https://cdn-ak-scissors.b.st-hatena.com/image/square/c2ea7e72d0d7f3ba6c237909f321e67ffbdaa24e/height=288;version=1;width=512/https%3A%2F%2Fmorizyun.github.io%2Fimg%2Fog_image.png)