ファクトリメソッドは無限の可能性があると思う。
というか new でオブジェクトを生成するのは生っぽいというか、
低レイヤーっぽいというか、なるべく隠蔽した方がよいと思ってる。
なかなかいい例が思いつかないんだけどねえ。
さらに無名関数と組み合わせるといろいろできそうな気がするのだけど。
function getFooHoge() {
foo = new Foo();
foo.doSomethig = function () { ほげっぽいこと };
return foo;
}
function getFooFuga() {
foo = new Foo();
foo.doSomethig = function () { ふがっぽいこと };
return foo;
}
みたいな何か。
ファクトリメソッドが楽しすぎる -
はてなブックマーク - 新着ブックマーク - blog.fuktommy.com
このあたりはテスタビリティだけ確保できればいい場合か、
依存性の逆転原則のメリットを重視するか、パターンによっていろいろあるなあと。<br>ここ1年ちょいくらい使ってるパターンはこれ。
class Foo
{
private function __construct()
{
$this->bar = new Bar();
}
public static function factory()
{
return new self();
}
public function setBar(Bar $bar)
{
$this->bar = $bar;
return $this;
}
}
// 普通の場合
$foo = Foo::factory();
// Barを設定する場合
$foo = Foo::factory()
->setBar(new SpecialBar());
【OOP】依存関係のクラスについて | nanoant -
fuktommy - Google ブログ検索
こういう過剰な自主規制ってやだよなあ。
法律・条例には書いてないから自主規制する側が悪いんだとか、
法律がさらに厳しくならないように自主規制するのだとか、
法律を100としたら200くらいに自主規制があるのだから、法律を100にするのが悪いとか、
いややっぱり200の自主規制を狙って100の法律を作ったのだからこれは正しいのだとか、
なんかこういろいろ思うところはあるのだけど、なんかもやもやする。
都条例の影響で同人誌すれなくなった\(^o^)/ 進む業界萎縮 : はちま起稿 -
煩悩ブックマーク
南阿佐ヶ谷で猫のようだけど尻尾の太い動物を見た。もしかしたらタヌキかもしれなかったが、うかつに近付いたので逃げられてしまった。2匹いたので夫婦かもしれない。
適当にバス乗ったら変な所に来ちゃったな。
関東バス(株) 阿佐谷営業所
1丁目-5-3 下井草, Suginami, Tokyo, Japan
クリスマスケーキを4等分したようにみえる「ショートケーキ」を買ったのだった。でかいし、クリスマス過ぎてたので半額とかいうこともなかった。
ロールケーキ -
"シュガーローゼ" - Google ブログ検索