10章第1級関数のデザインパターン
パターンに従ってさえいればよいというものでもありません。
—— Ralph Johnson
古典的名著『Design Patterns』の共著者†1
[†1] IME/CCSLでのRalph Johnsonによる講演『Root Cause Analysis of Some Faults in Design Patterns』のスライドより。Universidade de São Paulo、2014年11月15日
ソフトウェア工学の業界では、ソフトウェアデザインパターン(https://fpy.li/10-1)とはよくあるデザイン上の課題を解決するための一般的なレシピを意味します。この章では、それぞれのデザインパターンについての知識は前提としていません。コード例に出てくるパターンは、必要に応じて解説していきます。
プログラミングの世界でデザインパターンの利用が広まったのは、通称Gang of Fourと呼ばれるErich Gamma、Richard Helm、Ralph Johnson、John Vlissidesの4人組による記念碑的書籍『Design Patterns: Elements of Reusable Object-Oriented Software』(Addison-Wesley)がきっかけです。この本にはクラスの配置に関するパターンが23種掲載されています。コードはC++で記述されていますが、他のオブジェクト指向言語にも適用できます。
デザインパターンは言語に依存しませんが、すべてのパターンがすべての言語で利用できるとは限りません。例えば「17章 イテレータ、ジェネレータ、従来のコルーチン」では、Iteratorパターン(
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access