『Java言語で学ぶデザインパターン入門』はものすごいスピードで執筆している。
感謝なことである。
このようなことをしてくださる神さまをほめたたえます。
結城の作業ログによると、次のようになっている。
-
9月 (全体構想と、サンプルプログラム書き)
-
2000-09-20 書き始め(introとFacadeを60分だけ書く)
-
2000-09-21 Commandを40分だけ書く。
-
2000-09-22 AbstractFactoryのメモ。このあたりで「コンパイルして本当に動作するプログラム例を示す」という方針を決定。
その方針の心意気(?)をメモにまとめる。
-
2000-09-23 対象読者とデザインパターンの意義について考える。目次の方針を考える。
-
2000-09-24 Prototype, State, Flyweight, Mediator, Chain Of Responsibilityについて考える。
-
2000-09-25 動作テスト用のPerlスクリプトを考える。
-
2000-09-26 Adapter.
-
10月 (サンプルプログラム書きとUMLによるクラス図描き。レビューア募集も)
-
2000-10-05 Singleton, Builder とりあえずパターンごとに試しに書いてみようとしている。
-
2000-10-06 目次再検討。
-
2000-10-07 Prototype
-
2000-10-08 5個ほど絵を作る。楽しい。
-
2000-10-09 Decorator, Composite
-
2000-10-10 Chain of Responsibility
-
2000-10-13 Iterator, Flyweight 文書中に本当にソースを埋め込んでいる。役割について書き始める。
-
2000-10-13 レビューア公募をしようかな、と日記に書く。
-
2000-10-14 Observer
-
2000-10-16 Bridge, Adapter
-
2000-10-17 Memento
-
2000-10-18 Memento もっと絵を多くすべき。
-
2000-10-20 Adapter
-
2000-10-20 Flyweight, Composite, Adapter, Template Method, をUMLで書く。
-
2000-10-21 FactoryMethod をUMLで書く。
-
2000-10-22 PrototypeをUMLで書く。
-
2000-10-23 Builderのプログラム完成。AbstractFactoryのプログラム途中。
-
2000-10-24 ChainOfResponsibilityの文章を書く。Commandのプログラムを書こうとしている。
-
2000-10-24 現時点での疑問と今後の課題をまとめる。
-
2000-10-24 現状を整理し、目次などとあわせて企画文書として編集長へ送付。
-
2000-10-25 UMLの勉強。
-
2000-10-26 レビューア公募開始。
-
2000-10-26 Commandプログラム済み。
-
2000-10-27 Interpreter
-
2000-10-29 レビューアに送付する原稿の形式を考える。
-
2000-10-29 UMLの解説を書く。
-
2000-10-30 はじめの言葉を書く。本書の方針について整理する。
-
11月 (レビューアへの送付開始)
-
2000-11-02 ChainOfResponsibility
-
2000-11-03 レビューア公募〆切。
-
2000-11-04 [DP/Review] No.000 ごあいさつと事務連絡送付
-
2000-11-04 Iterator
-
2000-11-07 [DP/Review] No.001 はじめに送付
-
2000-11-10 [DP/Review] No.002 UMLについて送付
-
2000-11-15 [DP/Review] No.003 付録送付
-
2000-11-15 [DP/Review] No.004 Iterator送付
-
2000-11-16 進捗状況を編集長へ送付。
-
2000-11-20 [DP/Review] No.005 Adapter送付
-
2000-11-20 [DP/Review] No.006 ソース抽出と実行を行うPerlスクリプト送付
-
2000-11-27 [DP/Review] No.007 Template送付
-
2000-11-27 [DP/Review] No.008 FactoryMethod送付
-
2000-11-28 [DP/Review] No.009 Singleton送付
-
2000-11-29 [DP/Review] No.011 Prototype送付
-
12月 (一気に突っ走って書くことにする)
-
2000-12-01 [DP/Review] No.012 Builder送付
-
2000-12-05 [DP/Review] No.013 Abstract Factory送付
-
2000-12-06 [DP/Review] No.014 Bridge送付
-
2000-12-06 [DP/Review] No.015 付録送付
-
2000-12-06 [DP/Review] No.016 付録送付
-
2000-12-07 [DP/Review] No.017 Strategy送付
-
2000-12-08 [DP/Review] No.018 Composite送付
-
2000-12-11 [DP/Review] No.019 Decorator送付
-
2000-12-11 進捗状況を編集長へ送付。
-
2000-12-12 [DP/Review] No.020 Visitor送付
-
2000-12-13 [DP/Review] No.021 Chain of Responsibility送付
-
2000-12-14 [DP/Review] No.022 Facade送付
-
2000-12-15 [DP/Review] No.023 Mediator送付
-
2000-12-18 [DP/Review] No.024 Observer送付
-
2000-12-18 [DP/Review] No.025 名前公開の許可を求めるお願い送付
-
2000-12-19 [DP/Review] No.026 デザインパターンを学ぶ前に送付
-
2000-12-20 [DP/Review] No.027 Memento送付
-
2000-12-27 [DP/Review] No.028 State送付
-
2000-12-29 [DP/Review] No.029 Flyweight送付(予定)
こうやって眺めてみると、
送付開始する前の下ごしらえ(9月〜10月)で、
全体を把握しておくのが重要な感じがするなあ。
これがあるから11月に入ってスピーディに進められているように思う。
下ごしらえで作ったものは実際の原稿になるときには、
ずいぶん形を変えてしまうのだが、
自分が内容を把握するのが大事みたい。
それから通常の連載原稿と同じく
「まずプログラムを書き、それを文章で説明する」
という順番になっていたことにいまさらながら気づく
([DP]の場合にはプログラムと文章の間にUMLによるクラス図が入るが)。
ところで、結城はどんな作業を行うときも、このような作業ログを書いている。
今回のように後で読み返すと思わぬ発見があるものだ。
ログについては、1995年に書いた次の文章も参考にどうぞ。