帳簿で学ぶデザインパターン - 1
プロローグ
- 1 => プロローグ現在地
- 2 => Iterator
シリーズ概要
このシリーズ記事では、帳簿システムの機能拡張というテーマで、巷の入門書よりもちょっと複雑なデザインパターンの実例を制作していく。
帳簿システムとはいえ、まずは与えたデータをコンソールに表示するだけという、Hello Worldの上位互換的な代物から始まる。
そこから少しずつ機能拡張を行っていく。ファイルにデータを保存したり、HTMLで一覧表として表示したり、CSVやXMLを解析して集計を行ったり、データ登録UIを作成して更新機能を実装したり、データを登録し直すundo機能を追加したり、…etc.
似たような処理を異なるデザインパターンで組んでみることで、各デザインパターンの性格や得意不得意が浮き彫りになるのではないかと考えている。
また、一つのシステムを構築するという一貫したテーマでデザインパターンを語ることで、あるデザインパターンで書いたコードの問題点を別なデザインパターンで解決する…などといったことも可能になる。
時には無理やり感の漂う当てはめ方で、パターンの濫用にしかなり得なかったり、パターンの枠から逸してデザインパターン『もどき』を生むこともあるだろう。
実用的・効率的であるかどうかは置いておいて、とりあえずデザインパターンでの解決を試みる。
そうして失敗から学ぼうというスタンスなので、当ブログに掲載しているコードは決して完璧なものではないことに注意。
玄人の思考を理解するために素人がもがく、ありのままを記録していく。試行錯誤奮闘記を始めよう。