1970年代

  1. アレグザンダー『パタン・ランゲージ』

    建築家クリストファー・アレグザンダーらが、町や建物の設計で繰り返し現れる問題と解決策を253のパターンとしてまとめた。「問題・状況・解決策」に名前を付けて共有するという考え方が、のちにソフトウェアへ持ち込まれる。

  2. アレグザンダー『時を超えた建設の道』

    パターン・ランゲージの背後にある思想を論じた。良い設計には言葉にしにくい「名づけ得ぬ質」があり、パターンはそれを生み出すための手段であるとした。

1980年代

  1. ベックとカニンガム、パターンをプログラムに応用

    ケント・ベックとウォード・カニンガムが、OOPSLA '87 のワークショップで、アレグザンダーのパターン・ランゲージをオブジェクト指向プログラムの設計に使う試みを発表した。

1990年代

  1. GoF『デザインパターン』出版

    ガンマ、ヘルム、ジョンソン、ブリシディースの4人(Gang of Four)が、オブジェクト指向設計の23パターンを生成・構造・振る舞いの3分類で体系化した。「実装ではなくインターフェースに対してプログラムせよ」「継承よりコンポジションを優先せよ」という原則も示した。

    • GoF の23パターン関連
  2. 第1回 PLoP(Pattern Languages of Programs)開催

    パターンを書き、互いに批評し合うための会議が始まった。著者同士が原稿を読み合う「ライターズ・ワークショップ」の形式が定着する。

  3. POSA『パターン指向ソフトウェアアーキテクチャ』

    ブッシュマンらが、Layers、Pipes and Filters、Broker、Model-View-Controller などのアーキテクチャパターンをまとめた。クラスの設計より大きな単位でパターンを扱う流れが生まれる。

  4. ノーヴィグ「動的言語におけるデザインパターン」

    ピーター・ノーヴィグが講演で、GoF の23パターンのうち16は、第一級関数やマクロを持つ言語では不要になるか、ずっと簡単に書けると指摘した。パターンの多くが言語の機能不足を補うものだという見方を広めた。

    • GoF の23パターン関連
  5. 『アンチパターン』出版

    ブラウンらが、うまくいかない解決策が繰り返される様子を「アンチパターン」として整理した。何をすべきでないかにも名前を付けて共有する考え方が広まる。

  6. ファウラー『リファクタリング』

    外から見た振る舞いを変えずにコードの構造を改善する手法を、名前の付いた手順の集まりとしてまとめた。既存のコードを少しずつパターンへ近づける道筋が示された。

2000年代

  1. ファウラー『エンタープライズアプリケーションアーキテクチャパターン』

    Repository、Unit of Work、Active Record、Data Mapper など、業務システムでデータベースや層構造を扱うためのパターンをまとめた。

  2. エヴァンス『ドメイン駆動設計』と『エンタープライズ統合パターン』

    エヴァンスは Entity、Value Object、Aggregate、Repository などで業務の知識をモデルに表す方法を、ホーペとウルフはメッセージングによるシステム連携の65のパターンを示した。

  3. ファウラー「依存性の注入(Dependency Injection)」

    制御の反転(IoC)コンテナの考え方を整理し、「依存性の注入」という名前を広めた記事を公開した。Singleton に頼らずに部品を組み立てる方法として定着する。

  4. 『Head First デザインパターン』

    図や会話を多用した入門書として、GoF のパターンを多くの開発者に広めた。

    • GoF の23パターン関連

← 年表一覧へ戻る