連載第7回掲載号

ahirasawa2005-12-23


日経ソフトウエアの2006年2月号*1が発売された。
(→日経ソフトウエアのページへ、→Amazonへ)

今月の特集は「良いプログラミング選びは良い“本”選びから」である。プログラミング基礎、インターネット、Java、.NET、DB、テスト、オブジェクト指向という7つの分野についておすすめ本を紹介している。紙媒体を使って別の紙媒体を推薦するのも考えてみれば変な話に思えるが、確かに記事として面白いし、直接役に立つ企画だと思う。

矢沢さんのデザインパターンの連載も今回が最終回である。この連載が始まったときにはちょっと違った意味で驚いた。何に驚いたかというと、連載の構成についてである。GoFデザインパターンの数は23だが、この23という数は素数で実に中途半端な数である。しかしこの連載では、1回の記事でパターンを2つずつ取り上げている。そして初回については全体の説明を書く都合もあって、パターンを1つだけ取り上げている。つまり、この構成を取れば1年間計12回でピッタリ23の連載記事になるわけである。この企画には感心した。


さて自分の連載記事の方は「モノの静的な関係を分析するテクニック」というタイトルにした。内容としては、モノ同士の静的な関係を表現する際に出てくるお決まりのパターンをまとめてみた。

一つ目のテーマは「主体と対象」の関係である。自分はモデルを書くときに関連名をあまり使わないが、どうしても関連名を書きたくなることが時々ある。今回の記事を書きながら、関連名を書きたくなるのが、この「主体と対象」の関係の場合であることに気づいた。

残りのテーマは名寄せと役割である。企業システムのモデリングにおいて、この構造は実によく登場する。以前は、名寄せと役割は同じパターンにした方がよさそうだと考えていた。前者は別々のモノを後からまとめることであり、後者は最初から存在していた一つのモノに複数の役割を持たせることだが、結果的にはよく似た構造になるから。しかしこれに関しても、両者には細かい、しかし重要な違いがあるため、別のパターンとして整理した方がいいと思い直した。

割と地味なテーマだったため、記事を書く前は原稿を書くモチベーションが上がらないかもしれないと懸念していた。しかし実際に書いてみると、自分の中でいくつかの発見があったため、割と楽しんで書くことができた。野口悠紀雄さんも『「超」文章法 (中公新書)』の中で、

実際、本を書くことの最大のメリットは、書いている途中で発見があることだ。あるいは、それまで漠然と考えていたことを、はっきりと意識することだ。

と書かれているが、まったくもってその通りだと思う。

*1:表紙画像の著作権日経BP社に帰属します。ここでは日経BP社からの正式な認可を得て画像データを掲載しています。