謎's キッチン

謎のひとりごと。Amazon欲しい物リストはこちら: https://www.amazon.co.jp/hz/wishlist/ls/CCPOV7C6JTD2

シンプルなAbstract Factoryパターンを簡単に

作るものを作った。いや、正確には以前作ったやつを戻り値の型を自動で取得するようにしたから公開したが正しいか。インターフェースがあってもObjectが優先されてしまうバグがあるけど。
何でも良いけどtupleのtupleが無いから結構苦労した。
http://www4.pf-x.net/~nazodane/common_type.d
http://www4.pf-x.net/~nazodane/factory.d
使いかたはこんな感じ。

import factory;
class Base{};
class A:Base{const char[] id="a";}
class B:Base{const char[] id="b";}
class C:Base{const char[] id="c";}
alias Factory!(A,B,C) ABCFactory;
void main(char[][] args){
  auto factory = new ABCFactory;
  auto obj = factory.createObject(args[1]);
  writefln(obj.id);
}