出版社内容情報
デザインパターンの本といえば、C++やJavaをベースにしたものがほとんどです。しかしRubyの場合には、違いがあります。いえ、むしろRubyのほうが、この言語に固有なクオリティのおかげで、デザインパターンを実装しやすいのです。本書の著者ラス・オルセンは、Rubyの持つ優れた能力をデザインパターンと組合せ、今までよりもはるかに少ないコードで、洗練された効果的なソフトウェアを作成する方法を披露しています。
本書ではまず、デザインパターンの歴史と概念、そして目的をおさらいしたうえで、Ruby言語の一通りの紹介をします。ソフトウェア開発経験者なら、これだけあればすぐにもRubyでデザインパターンを活用できるようになるでしょう。特に本書では、動的型付けや、クロージャー、ミックスイン(mixin)など、パターンの利用をシンプルにしてくれるRubyの特徴に注目をしています。
そして「ギャングオブフォー」の、いまや古典となったデザインパターンのうち、14パターンをRubyの視点から考察します。それぞれのパターンがどんな問題を解決するのかを説明し、伝統的な実装がRuby環境でうまくいくのか検討を行い、最後にRubyに特化した実装を導入します。従来の言語でよく見かける、延々と繰り返すような決まりきったものでなく、今後は1、2行のコードでパターンを実装することが多くなるでしょう。
また本書は、Rubyコミュニティーから生み出された、革新的な新しいパターンがどんなものかを解説しています。これらには、メタプログラミングでカスタムオブジェクトを作成する方法や、アプリケーションとフレームワークの統合用にデザインされたRailsベースの野心的な「Convention over Configuration」(CoC)パターンが含まれています。
魅力的で、実践的で、活用しやすい本書「Rubyによるデザインパターン」は、きっとあなたのRubyプログラミングの経験に実りをあたえ、優れたソフトウェアを作成するのに役立つでしょう。
【目次】
はじめに
序文
第Ⅰ部 パターンとRuby
第1章 よいプログラムとパターン
第2章 Rubyをはじめよう
第Ⅱ部 Rubyにおけるパターン
第3章 アルゴリズムを変更する:Template Method
第4章 アルゴリズムを交換する:Strategy
第5章 変更に追従する:Observer
第6章 部分から全体を組み立てる:Composite
第7章 コレクションを操作する:Iterator
第8章 命令を実行する:Command
第9章 ギャップを埋める:Adapter
第10章 オブジェクトに代理を立てる:Proxy
第11章 オブジェクトを改良する:Decorator
第12章 唯一を保証する:Singleton
第13章 正しいクラスを選び出す:Factory
第14章 オブジェクトを組み立てやすくする:Builder
第15章 専用の言語で組み立てる:Interpreter
第Ⅲ部 Rubyのためのパターン
第16章 オリジナル言語を作る:Domain-Specific Language(DSL:ドメイン特化言語)
第17章 カスタムオブジェクトを作る:メタプログラミング
第18章 Convention over Configuration
第19章 おわりに
付録A Rubyの入手方法
付録B さらに深く学ぶために
索引
目次
第1部 パターンとRuby(よいプログラムとパターン;Rubyをはじめよう)
第2部 Rubyにおけるパターン(アルゴリズムを変更する:Template Method;アルゴリズムを交換する:Strategy;変更に追従する:Observer ほか)
第3部 Rubyのためのパターン(オリジナル言語を作る:Domain‐Specific Languages(DSL:ドメイン特化言語)
カスタムオブジェクトを作る:メタプログラミング
Convention over Configuration)
付録
著者等紹介
オルセン,ラス[オルセン,ラス][Olsen,Russ]
25年以上の経験のあるソフトウェア技術者。CAD/CAM、GIS、ドキュメント管理、企業システムなどの分野でシステムを構築してきた。現在は、大企業向けのSOAシステムの構築によるサービス向上およびセキュリティ対策に従事。2002年からRubyで仕事をしており、Rubyにマルチメディア機能の初期の移植を試みたClanRubyの作者。現在、UDDI4Rを含む多くのオープンソースプロジェクトのコミッター。Temple Universityで学位を取得
小林健一[コバヤシケンイチ]
株式会社豆蔵。大学院でシステム工学を専攻後、証券システムの再開発プロジェクトに参加。現在は新人、中堅技術者へのオブジェクト指向分析設計、UML、Javaの研修を担当。主な興味は形式手法、関数型言語など。工学博士、情報処理学会会員
菅野裕[スガノユタカ]
株式会社豆蔵。SIベンダーにてSEとして修行を経た後、オブジェクト指向技術に光明を見いだし、2004年から現職。ビジネス系のシステム開発の現場でフレームワークの構築や新技術導入の支援などに従事している
吉野雅人[ヨシノマサト]
日産自動車株式会社。エンジニア。Javaや.NETを相手にする一方でRubyを広める道を模索中
山岸夢人[ヤマギシユメト]
株式会社豆蔵。プログラマーとして様々な業務システム開発に関わるなかで、メンバーの十分なスキルとそれらを生かす仕組みの両方が必要であるということが身にしみたエンジニア。現職では開発者と顧客の橋渡しができるよう奮闘中。問題の本質を見極め、顧客からゴールを導くツールとして、TOC・思考プロセスに興味を持つ(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。
感想・レビュー
※以下の感想・レビューは、株式会社ブックウォーカーの提供する「読書メーター」によるものです。
Tatsuya Sato
そらむぎ
pippi
mosa
jiroukaja