アブストラクトファクトリは、矛盾のないオブジェクトの生成を行うためのパターンです。 このアブストラクトファクトリをRubyコードで紹介します。 😀 ソースコードを使ったAbstract Factoryの説明Abstract Factoryをソースコードを使って説明します。 ここでは次のような池をサンプルとして取り上げます。 動物を表すクラス: アヒルを表すDuckクラスは、食事(eat)メソッドを持っている カエルを表すFrogクラスは、食事(eat)メソッドを持っている 植物を表すクラス: 藻を表すAlgaeクラスは、成長(grow)メソッドを持っている スイレンを表すWaterLilyクラスは、成長(grow)メソッドを持っている 池の生態系を生成するクラス: コンストラクタで動物と植物を定義する 動物、植物のオブジェクトを返すメソッドを持っている 池の環境(動物と植物の組み合わせ)
![アブストラクトファクトリ(Abstract Factory) | 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)