デザパタ

Mementoパターン

日経Linuxを読んでたら、Rubyの産みの親まつもとゆきひろ氏の コラムがあり、そこでシリアライズとデシリアライズについて書いてあった。 Ruby風に言うと、マーシャルね。 このマーシャル。 Mementoパターンをうまく使うことで、自分で実装が出来る。 phpと…

デザインパターン[Decorator]

さて、久々(?)のデザインパターンです。今回はDecoratorパターン。装飾という意味です。まずは実例から。public final class ConfigUtil { public static int getParameter() { // どこかから設定を取ってくる }}という設定を管理するクラスがあります。こge…

デザインパターン[Observer]

年末ですね。今年最後になろう日記はObserverパターンの紹介をば。Observerパターンは、ある状態に変化した時にそれを見計らって何かが動くような、監視処理をする場合に非常に便利です。Appletでは、〜ListenerってやつがObserverパターンの良い例です。こ…

デザインパターン[TemplateMethod]

さて、今日は短めに行きます。TemplateMethodはデザインパターンの中でも初めの方に出てくるパターンですね。継承とはこういうときにこそ使う意義があると教えてくれます。機能拡張のための継承ははっきり言って悪です。機能拡張をするなら、継承ではなく、…

デザインパターン[Composite]

はいー 今日もデザパタでお送りします。今日は、Composite。こいつは超絶なすごさを持ってる。そこらの本だと階層構造が・・・って話になるんだけど・・・もっとすごいのよ。 Compositeは。確かに階層構造やら再帰構造にはもってこいのパターンなんだけどね…

デザインパターン[NullObject]

では、前回ちょっとだけ触れたNullObjectを。NullObjectはGoFの21パターンには含まれていない。だが、非常に有用なパターンだ。何かの検索があったとしよう。何も引っかからなかった時に、何を返すか?null?それはちょっとエレガントではない。そういう場合…

デザインパターン[Strategy]

本日連投です。私にとってデザインパターンの中で一番印象深いのがこのパターンだ。FF12のガンビットはこのパターンをふんだんに使用していることこの上ないと確信している(笑)と、Strategyとは戦略という意味だが、まさにその通りのパターンだ。ある特定の…

デザインパターン[Command]

どもどもっ2回目の今回は、Commandパターンなんか語ってみちゃったりしますか〜Commandパターンは、一つの動作毎にクラスを作成し、同じインターフェイスから呼び出せるようにしたものだ。考え方次第では、どこにでも適用できる。ただ適用すればいいってもん…

デザインパターン[State]

この前入れたVineLinuxが良い感じです。つか、このGUI気に入った。 インストールが簡単ならwindowsから乗り換えてもいいかなって本気で思うわ。・・・とそれはおいておいて、特に書くこともないので、自分への復習も兼ねてこれからGoF他もろもろのデザインパ…