GoFのデザインパターンのひとつ、ファクトリメソッド(Factory Method)をRubyのサンプルコードで紹介します。 ファクトリメソッドは、インスタンスの生成をサブクラスに任せるパターンです。インスタンスの生成部分を切り離すことで、結合度を下げて追加・変更・保守を容易にします。 🗻 ソースコードを使ったファクトリメソッドの説明ファクトリメソッドをソースコードを使って説明します。 ここではサックスとサックスを作る工場を例に考えます。 サックスを表すSaxophoneクラスは、音を鳴らす(play)メソッドを持っている 楽器工場を表すInstrumentFactoryクラスは コンストラクタの引数で楽器の数を受け取る 楽器を出荷するメソッド「ship_out」をもつ を満たすコードを書いていきます。 # サックス (Product) class Saxophone def initi
![ファクトリメソッド | 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)