2012-09-01から1ヶ月間の記事一覧

AbstractFactoryパターン

GOF末広がりの八つめ。抽象的なクラスの抽象メソッドを駆使する抽象的な工場。 Mainも基本的には抽象なものだけ扱う。ただしインスタンス生成以外。 必要なやつ AbstractProduct 工場で作られる製品。要はパーツです。 例えばリストを表示するテキストを作る…

Builderパターン

GOF縁起のよい7つめ。ポチッとしたら出来上がり。 必要な奴 Builderインターフェース 処理の必要なメソッドを定義 ConcreteBuilderクラス 実際の処理を実装 Directorクラス Builderのメソッドを次々に呼んで必要なものを組み立てるメソッドを定義 Clientクラ…

ProtoTypeパターン

GOFの6つめ。あるならコピー。 感覚的に言ったらノート屋ですよね。 講義録びっしり書いたノートをコピー機でちょろちょろっと。 全ては単位のためです。よくないけどな! 必要なやつ ProtoType 必ずやっておく必要が有ることは、java.lang.Cloneableインタ…

Singletonパターン

GOFの5つめ〜。世界に1つ。 システムで1インスタンスしか存在しない状態にする。 必要なやつ Singletonクラス たった1つ。 自クラスのインスタンスのstaticメンバで保持する。 自クラスのインスタンスを返すgetInstanceメソッドを持つ。 クライアントで…

Factory Methodパターン

GOFの4つめー。私があなたの産み親です。 インスタンスの生成をサブクラスに任せる。 必要なやつ Factoryクラス 抽象クラス。 Productオブジェクトを生成する抽象メソッドを定義。 Productオブジェクトがメンバーにいる必要はない。 Productクラス 抽象クラ…

Template Methodパターン

GOFのみっつめー。 これとこれとこれをまとめて、一気にはいっと。 必要なやつ 今回はいつもより少ないですね。 * AbstractClass まとめ役メソッドを定義する まとめ役で呼ばれるメソッドをabstractで定義する ConcreteClass AbstractClassを継承する まとめ…

Adapterパターン

GOFのふたつめ! 仲介役を買ってでましょう。 必要なやつ Target インターフェースや抽象クラスで定義する。 呼び出すためのメソッドを定義 Client 呼び出し元のクラス。 Targetのメソッドを呼び出す。 Adaptee 実際に呼び出される処理のメソッドを定義する…

Iteratorパターン

GOFのひとつめ。 Iteratorは数え上げる処理を切り離したインターフェース 必要なやつ Element * 要素 ElementAggregate(ConcreteAggregate) * 要素の集合 * メンバーにElementをもつ * Aggregateのiterator()を実装し、ModelListIteratorを生成 Aggregate * …

Apacheインストール

ちょっとCGIを動かしたくてMacのHomebrewでApacheをインストール ※Homebrewは導入済み httpdインストール brew tap Homebrew/dupes brew install httpd httpd.conf編集 起動したらこんなエラーが出たので対応 httpd: Could not reliably determine the serve…