そろそろちゃんとデザインパターンってもんを学んどこうってことで読んでみた!
デザインパターンについての技術書を探してみるとC++とかJavaとかを用いて説明しているものは沢山あるけれど、LLで解説している書籍はかなり少ない。(ことPerlなんかは後付け的にオブジェクト指向に対応した言語だから致し方ないが・・・)
そんな数少ないRubyでデザインパターンを解説しているのが本著。
- 作者: Russ Olsen,ラス・オルセン,小林健一,菅野裕,吉野雅人,山岸夢人,小島努
- 出版社/メーカー: ピアソン桐原
- 発売日: 2009/04/01
- メディア: 単行本
- 購入: 13人 クリック: 220回
- この商品を含むブログ (67件) を見る
普段仕事で使うのはPerlでRubyはかろうじて書ける程度だが、それでもRuby自体についても割と丁寧に説明されているので問題なく読み進められるのが良い。
本著の記述スタイルはおおよそ
- パターンの要点を説明
- ベタに実装
- Rubyの機能を用いたスマートな実装
という形になっており、他のLLの使用者でもかなり参考にできる部分が多いのではないだろうか。(あと、Rubyすげーよく考えられてるなーって感心する。)
無論学んだからといって最適解が自ずと出てくるというものはなくて、どれを適用するのが適切かを判断するには想定力と実装力が必要となるが、知っておくことによって自分の中での選択肢が広がるし、他のエンジニアに設計の意図を正確に伝達しやすくなるという利点もある。
そこそこ大きくて長期間運用してるプロダクトをやってるゆえ感じることだけど、「クソ設計だけど実装で頑張ってるシステム」と「設計は適切だけど実装が雑なシステム」だったら運用上は後者の方が遥かに救いがあるわけで、デザインパターン関連の書籍は是非とも初心者にも読んで欲しいと思う。
(タイトな工数とか担当エンジニアの質の問題とかで前者になりがちなのは致し方無いことではあるけど、そういう「無理くり間に合わせました」みたいなものを積み重ねることはハッキリ言ってリスクでしかない。)
個人的には本棚の手に取りやすい所にいつまでも置いておきたい一冊になった。
ことLLを使われることの多いWeb界隈のエンジニアには是非おすすめしたい書籍である、、、のだが残念ながら絶版らしいんだよなこれ。僕が手に入れたのはギリギリのタイミングだったらしく幸運だった。
ピアソンの技術書は書店在庫限りとの見通し。ピアソン桐原社がピアソングループ離脱で(追記あり) - Publickey
LL界隈の技術書って、個人的には
- PHPは雑多な書籍が多すぎる
- Perlは独自の世界に行ってしまった
- Pythonは単純に母数が少ない
って偏見イメージを持ってて、その辺Rubyは「ちゃんと」オブジェクト指向してることもあって、勉強する上で良著が多いのが一つの大きな利点だなって思う。
- 作者: 高橋征義,後藤裕蔵,まつもとゆきひろ
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2013/06/04
- メディア: 単行本
- この商品を含むブログ (33件) を見る