Refactoring to Patterns 3
https://learning.oreilly.com/library/view/refactoring-to-patterns/0321213351/
日本語訳本「パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法」
Chapter 3. Patterns
「Timeless Way of Building」より
パターンは、ある状況、問題、解決策の関係を表現する三部構成のルールです。
世界の要素として、各パターンは、ある状況、状況において繰り返し発生する力の体系、そしてこれらの力が解決される空間的配置との関係を表します。
言語の要素として、パターンは指示であり、この空間的配置をどのように使用し、状況に応じて力の体系を解決するかを示します。
パターンは、要するに、世界で起こる事象であり、その事象をどのように作り出すかを教えるルールです。
それはプロセスでもあり、事象でもあり、生きているものの記述であり、それを生成するプロセスの記述でもあります。
Patterns Happy
パターンに夢中になり、コードにパターンを使わなければならなくなることだ。
病は初心者プログラマーに限ったことではない。
特に洗練されたパターンの本や記事を読んだ後では、中級者や上級プログラマーもその餌食になる。
「Vlissides, John. “C++ Report.” April 1998」より
パターンの構造図は単なる例であり、仕様ではないことを強調しすぎることはないようだ。
それは、私たちが最もよく目にする実装を描いたものです。
そのため、構造図はおそらくあなた自身の実装と多くの共通点を持っているでしょうが、違いは避けられないものであり、実際には望ましいものです。
少なくとも、参加者の名前をあなたのドメインに適したものに変更してください。
実装のトレードオフを変えれば、あなたの実装は構造図とはかなり違って見えるようになるかもしれません。
Refactoring to, towards, and away from Patterns
「パターンへのリファクタリング」、「パターンに向けたリファクタリング」、および「パターンから離れるリファクタリング」
パターンを知らなければ、優れたデザインを進化させる可能性は低くなる。
パターンには知恵が詰まっている。その知恵を再利用することは非常に有効だ。
Book
Timeless Way of Building
https://amzn.to/3W29zSh
A Pattern Language
https://amzn.to/3W7apxl
パタン・ランゲージ―環境設計の手引
https://amzn.to/4eKYk8c
Extreme Programming Explained
https://learning.oreilly.com/library/view/extreme-programming-explained/0321278658/
Domain-Driven Design
https://learning.oreilly.com/library/view/domain-driven-design-tackling/0321125215/
Design Patterns: Elements of Reusable Object-Oriented
https://learning.oreilly.com/library/view/design-patterns-elements/0201633612/