
パターンへのリファクタリング
2004
私は長年にわたり、アジャイル手法全般と、特にエクストリームプログラミングの提唱に携わってきました。これを行うと、多くの人は、これがデザインパターンに対する私の長年の関心とどのように両立するかという疑問を投げかけます。実際、リファクタリングと進化設計を奨励することで、私がこれまで分析とデザインパターンについて書いてきたことを撤回していると主張する人もいるのを耳にしました。
しかし、この見解がいかに欠陥があるかを理解するには、人々をさっと見るだけです。パターンのコミュニティの主要メンバーと、アジャイルおよび XP コミュニティの主要メンバーを見ると、非常に大きな重複が見られます。真実は、パターンと進化設計は、その初期の頃から密接な関係を持っていたということです。
ジョッシュ・ケリエフスキーはこの重複の中心人物でした。私は彼に最初に会ったとき、彼はニューヨーク市で成功したパターンのスタディグループを組織していました。これらのグループは、デザインパターンに関する増大する文献の共同研究を行いました。私はすぐに、ジョッシュのデザインパターンに対する理解は誰にも劣らず、彼の話に耳を傾けることで、それらのパターンに関する多くの洞察を得ることができました。ジョッシュは早い段階でリファクタリングを採用し、私の本の非常に役立つレビュアーでした。そのため、彼がエクストリームプログラミングのパイオニアでもあったことは私にとって驚きではありませんでした。最初の XP カンファレンスでのパターンとエクストリームプログラミングに関する彼の論文は、私の最も好きなものの 1 つです。
したがって、パターンとリファクタリングの相互作用について書くのに最適な人物がいたとしたら、それはジョッシュです。私は『リファクタリング』の中で少しこの領域を探索しましたが、基本的なリファクタリングに集中したかったので、あまり詳しく説明していません。この本は、その領域を大幅に拡大し、Gang of Four の人気の高いパターンのほとんどの進化方法を詳細に説明し、それらを最初から設計する必要はなく、システムの成長に合わせて進化させる必要があることを示しています。
これらのリファクタリングについて研究して得られる具体的な知識に加えて、この本はパターンとリファクタリング全般についても詳しく説明しています。多くの人は、リファクタリングアプローチは問題と解決策の相互作用を段階的に把握できるため、パターンを学ぶためのより良い方法だと述べています。これらのリファクタリングはまた、リファクタリングはすべて小さな手順で大規模な変更を加えることであるという重要な事実を強調します。
したがって、この本を皆さんにご紹介できることをうれしく思います。私は長い間ジョッシュに本の執筆を依頼し、その後彼と一緒にこの 1 冊に取り組んできました。結果は満足のいくものであり、皆さんも満足していただけると思います。