トップページ

2011年1月14日

分でわかるデザインパターン本の書き方

まず基底クラスとそれを継承する数個の派生クラスをつくります。読者が興味を持てる例だといいのですが、なかなか私も例が浮かばない。たとえば、

基底クラス:お買いもの

派生クラス:大阪のお買いもの

         メソッド 「値段を聞く」 実行内容「なんぼでっか?」

派生クラス:東京のお買いもの

        メソッド 「値段を聞く」 実行内容「いくらですか?」

このように多態性を持たせるように派生クラスでは同じメソッド名「値段を聞く」を定義しておく。さらに他のクラスを作り、その中のメンバー関数の引数やリターン値に派生クラスのインスタンスを使えば、それなりにデザパタっぽいサンプルプログラムになります。チャレンジャーの人は、もう一つ違う基底クラスを作り、それを継承する派生クラスを複数個つくり、そのクラスのメソッドで、上記の例のような派生クラスのインスタンスを生成したりしてみましょう。メソッドの代わりに、クラスのコンストラクタの引数に派生クラスのインスタンスを入れたりすることもできます。

引数やリターン値の型が基底クラスとなっている関数に派生クラスのインスタンスをぶち込む。そして派生クラスのメソッドを実行すればデザパタになるんです。自分なりにできたサンプルプログラムに名前をつけてみるのもいいと思います。たとえば「お買いものパターン」とか。

こんなことをして自分オリジナルのデザインパターン本を書いたら、著名なデザインパターン本を読んでみましょう。きっと自分のデザインパターンと似ているものを発見すると思いますよ(笑)

まあ、私の意見としては、ポリモーフィズムを使ったデザインパターンは、あくまでもサンプルコードであって、実践で役に立つかどうかわからん!としか言いようがないです。ただ、デザパタっぽいサンプルプログラムを作ることは暇人ならばできるということです。

inserted by FC2 system