デザインパターンの勉強も,きょうで5つ目.Iterator, Adapter, Template Method, Factory Method, Singleton ← ここだ.部品を作るとき,クラスを書き換えようと考えがちだったが,抽象的な部品を作っておけば,テストする範囲も狭くなり,新規追加する部品だけテストすればよくなる.部品化しておけば,再利用もできる.できるだけ部品化したほうが良いのだろう.
今回の勉強の目的は,職場で開発したCGIのモジュール化である.新規追加するたびにファイルをコピーしてテストしなければならず,似たような内容のCGIファイルが量産されてしまっている.関数化しようにも,Pythonの文法に慣れておらず,Pythonの勉強を進めたかった.それらのCGIはPythonで書かれているのだ.Pythonでクラスや継承が使えることは最近知った.
Pythonでデザインパターンを当てはめ,CGIシリーズを構造化したいのである.モジュールを作り,パッケージ化して,一度テストしたモジュールを,もう二度とテストしなくて済むようにしたい.追加のコードも冗長に書きたくない.ファイル間で同じ記述を繰り返したくない.そして,CGIのソースコードの量を最低限に止めたい.要望はたくさんある.デザインパターンはこれらを解決する.
とはいえ,職場ではCGIを書き換えると外部機関のチェックが入る.テストされるのだ.有料なので,頻々にはできない.デザインパターンを適用するリファクタリングを,上司は反対するだろう.説き伏せる技術も必要だ.プログラマは,やることが多い.いっそのこと自分をSingletonのように考えれば楽なものの,事態はいつももう少し複雑で,もう少し楽しい.

コメントを残す