singleton における実装と制約の分離 (perl の場合)
何を singleton 化すべきかは状況によって変わることがあるので、singleton化を強制することになる「singleton class」は使うべきじゃないと思ってる。
Kazuho Oku on Twitter: "何を singleton 化すべきかは状況によって変わることがあるので、singleton化を強制することになる「singleton class」は使うべきじゃないと思ってる。"
自分で書くならこんな感じ。
sub create_singleton { my $ctor = shift; my $instance = undef; sub { $instance ||= $ctor->(); }; } *dbh = create_singleton(sub { DBI->connect(...) }); dbh->prepare(...); ...