パンくず
書籍 Refactoring to Patterns
Preface
概要
書籍 Refactoring to Patternsの内容・目的・ターゲット・必要なバックグラウンド・
どのようにこの書籍を利用するかなどに関する序文。
詳細
about
この書籍ではパターンによるリファクタリングでシステムを改善する手法がまとめられている
goal
goal
- リファクタリングとパターンの結びつきについて理解すること
- パターンによるリファクタリングで既存コードを改善すること
- パターンによるリファクタリングが必要となるコード範囲を特定できること
- パターンによる既存コードの改善をする方が、新規設計時にパターンを適用するよりも優れていることを覚えること
feature to achieve goal
necessary background
以下のような密結合・疎結合について精通していること。
など。
説明にはJavaを使用してあります。
(※このサイトでは原文のサンプルをRubyに置き換えて説明します)
当書籍はMartin Fowlerのリファクタリング本『リファクタリング―プログラムの体質改善テクニック 』と密接に関係しています。
件の書籍で記されている、低レベルのリファクタリング手法は
当書籍を読むために必須ではありませんが、最大限の理解を得るためには
すぐそばに『リファクタリング―プログラムの体質改善テクニック 』を置いておくことをお勧めします。
また、Kent Beckの『Desing Patterns』もパターンの理解の助力となります。
ただし、あなたがこのパターンのエキスパートである必要はありません。
当書籍ではあなたの理解を助けるために簡潔なパターンの概要を記します。
この本はUML2.0の図を使用しています。
how to use this book
当書籍のリファクタリングを高いレベルで理解するために、
利益と負債の蓄積として知られる各リファクタリングの要約を勉強することから始めることができます。
さらに深い理解のためにすべてのリファクタリングパートを学習することができます。
当書籍で解説されていて、『リファクタリング−プログラムの体質改善テクニック』でも紹介されている、
『コードの臭い』は設計の問題点を特定するための便利な手段です。
History
当書籍は1999年から書き始めた。
当初、この書籍を書くにあたりいくつかの力が働いた。
・パターン
・リファクタリング
・XP
など。
まず、XPの文献にパターンが記述されていなかったこと。
次に、Martin Fowlerの『リファクタリング−プログラムの体質改善テクニック』に掲載されている
わずかなリファクタリングがあり、Fowlerが他の開発者がより多くの手法を紹介することを望んでいたこと。
最後に、デザインパターンのワークショップにいる人々に、現実にデザインを適用するためのより多くの
助力が必要であることに気づかされたことです。
彼らには実際の開発でどのようなパターンによるリファクタリングが行われ、
それがどのような意味を持つかを知りたがっていたのです。
Standing on the Shoulder of Giant
当書籍はMartin Fowler,Kent Beck,Erich Gamma,Richard Helm,Ralph Jonson,John
Vlissides,William Opdyke,Jonh Brant,DonRobertsなどの偉大な先人や、彼らが書いた
『Design Patterns』『Refactoring』などの礎の元に成り立っています。