2010-01-31から1日間の記事一覧

Factory Methodパターン

状況によって生成されるオブジェクトを変更したいケースで使う。 メリット オブジェクトの生成に必要な手続きを利用側から隠蔽できる サブクラスを返すことで利用側は型制約から解放される 実装例 Factory PenとKnifeをつくる package Factory; use Product:…

Singletonパターン

唯一のオブジェクトを生成をしたいケースで使う。 クラス package Singleton; use strict; my $instance; sub instance { my $class = shift; return $instance ||= bless {}, $class; } 1; 呼び出し use Singleton; my $instance1 = Singleton->instance();…

Template Methodパターン

スーパークラスで処理の枠組みを決め、実装の詳細をサブクラスに任せるパターン。呼び出し手順や共通処理をスーパークラスに実装する。ニュアンスとしては「だいたい同じだけど、細かいところでいくつか違う」ものを実装するのに使える。 例: 支払処理 packa…

デザインパターン

コードを読めば分かるが、適切に使いこなすことはできていない。 いい機会なので地道に実装をしてみる。 デザインパターンとは 借り物ではなく自分の言葉で書くと「プログラミングにおけるベストプラクティス」である。定石と言い換えることもできる。あくま…