去年はいろいろと本を読んで、かつ記録をつけたので、そういう意味では真面目な1年だったと思う。

http://booklog.jp/users/naotaco?reviewed=1

その中でも最高だったのはメイヤーのオブジェクト指向入門。

[amazonjs asin=”4798111112” locale=”JP” title=”オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)”]

上下巻?に別れている。方法論・実践の方は手に入らなかったのでまだ読んでいない。

[amazonjs asin=”4798111120” locale=”JP” title=”オブジェクト指向入門 第2版 方法論・実践 (IT Architects’ Archiveクラシックモダン・コンピューティング)”]

とにかくアカデミックというか抽象的というか、そういうオブジェクト指向の原理原則と理想について語ってあって最高。入門というタイトルは大嘘で、オブジェクト指向に関するすべてが書いてある1000ページ近い本である。技評のいう「入門」とは根本から異なる。

オブジェクト指向に用いる言語がそなえているべき性質から始まり、クラス設計、(多重)継承、アサーション、型付け、束縛など深い考察が読めるすばらしい本。なかでも契約による設計という概念は白眉。

10年近く前に書かれた本なので、オブジェクト指向より先の概念については書かれていないが、現代では前提知識であり基礎となったオブジェクト指向をしっかり勉強するべきだと思うし、それにはこの本を読むのが一番よいと思う。抽象的に書かれていて広い概念を扱うので、オブジェクト指向の言語と、非オブジェクト指向言語それぞれいくつかずつ一通り学んだ後じゃないと理解できないかもしれない。

また、現実世界のソフトウェア開発上の課題とそれに対するアプローチみたいなことが書いてあるわけではない。例えるならこれは教科書であって課題の解法が書いてあるようなものではない、という感じか。

いまはどちらも品切れらしいが、重版が上がっているという話[ref]https://twitter.com/kohsei/status/681740206534344705[/ref]もあるので入荷次第下巻を読みたい。たのむいそいでくれ。

あとはDDD関連。

[amazonjs asin=”B00GRKD6XU” locale=”JP” title=”エリック・エヴァンスのドメイン駆動設計”]

[amazonjs asin=”B00UX9VJGW” locale=”JP” title=”実践ドメイン駆動設計”]

これもけっこう厚い本で、いかに現実の業務ドメインを理解してモデリングするか、またそれを現実的に設計・実装するか(現実のデータ構造にどう落とすかとか)、という話がひたすら書いてある。最高の本。あんまり大きなシステムを設計するような仕事があるとは思えないが、身近なところからモデリングと名前付けを大事にしていきたい。

最後は教典。

[amazonjs asin=”4894712741” locale=”JP” title=”達人プログラマー―システム開発の職人から名匠への道”]

座右において毎月復習したい感じ。意識が低まったときにこの本で殴ってくれるよう同僚に依頼しておくとよさそう。