いがぴょんの日記v2: キーワード: トイプログラム・デザインパターン
[toy,program,トイプログラム,デザインパターン] トイプログラム・デザインパターンを定義します。
| トイプログラム・デザインパターン定義 2005.06.13版 |
私は日頃 トイプログラムを書いて、未知のプロダクトやAPIの検証を行うことが多いです。ふと トイプログラムにもパターンがあるように感じました。いわば「トイプログラム・デザインパターン(Java言語用)」です。(そういうものが既に存在するのかどうかは私は知りません)
そのようなことで、トイプログラム・デザインパターンというものを定義します。下記の仕様を満たすものをトイプログラム・デザインパターンに適合したプログラムと呼ぶこととします。
- ひとつのクラスだけで動作するようにします。
- 極力 main メソッドだけで完結するようにします。
メソッドはなるべく利用しません。メソッドを作成するとしても staticメソッドでとどめるよう心がけます。やむを得ない場合にのみインスタンス化を行います。
- ソースコードの上から下に向かって淡々と処理を羅列するようにします。
- 動作の理解が行いやすいよう、System.out.printlnなどを活用して一目で動作が分かるように心がけます。
- 事前条件、事後条件を検証するための最低限のエラー処理は盛り込みます。
- 単機能を実現するための実装にとどめるようにします。
あまり行数が長くなると本来の目的から はずれてしまいがちです。
- デフォルトパッケージを利用するようにします。(package文は利用しません)
トイプログラム・デザインパターンは、下記のような状況において作成または活用されます。
- 対象となるAPI/ライブラリのサンプルプログラムを動作させる。
多くのAPIには 何かサンプルなどが提供されているはずです。(でも、時として一次情報源にサンプルが無い場合があります)。このような場合に トイプログラムの作成が必要になる場合があります。
- トイプログラムを作成して初期の理解を行う。
事前条件・事後条件を考えたトイプログラムを作成できていると 後工程が楽になります。
- トイプログラムを組み合わせた、コンビネーション型トイプログラムを作成して理解を深める。
具体的なアプリケーションの基本機能を満たした仕様を実装してみます。もとのトイプログラムは確保しておいて、別のトイプログラムを作成することが重要です。トラブルに見舞われた時に、単機能のトイプログラムに立ち戻って動作検証を行うことができるからです。また、この工程で別のことに気がつく場合があります。
- 実際に利用するラッパークラス/ライブラリを作成する。
例外処理やエラー処理、ロギング処理などが加わった、具体的なクラスの作成に取りかかります。この時点では、先に作成したトイプログラムとは全く別の外観を持った実装になります。プロトタイプ・アプリケーション作成と組み合わせることにより、ラッパークラス/ライブラリの実装が
より洗練されることも多いです。もちろん、この時点では適切なオブジェクト指向が適用されることになります。
- 具体的なアプリケーションを作成する。
関連するリソース
いがぴょんについて
Last modified: $Date: 2009/08/25 09:38:39 $