プログラムの部品をどう組み立てるかを考えるパターン。クラスやオブジェクトをうまく組み合わせて、新しい機能を作りやすくする。
プログラムの部品をどう作るかに焦点を当てたパターン。オブジェクトやクラスを効率よく作る方法を教えてくれる。
プログラムの部品のやりとりを考えるパターン。クラスやオブジェクトがどうやってお互いにデータをやりとりするか整理する。