FactoryMethod その3
IDCardとIDCardFactoryは強い依存関係にある。
しかも型が無いため抽象クラスのようなものは必要ない。
それらを考慮するとこうしてもいいかも。
module FactoryMethod module Factory def create(*arg) product = new(*arg) puts product.owner product end end class IDCard extend Factory def initialize(str) @owner = str end def owner "#{@owner}のカード" end end end FactoryMethod::IDCard.create("tarou")
TemplateMethodですねこれじゃあ。
FactoryMethodはTemplateMethodの応用ということで。