GoFデザインパターン
https://gyazo.com/0989c46f62bc1f00834f7dc0c86043f8
体系化された野生の勘
複雑なシステムをうまく扱うためにはパターンが重要であることは、他の学問においては古くから認識されてきた。特にChristopher Alexanderは、建築物や街を構築するためにパターン言語を用いる考え方をおそらく初めて提案した人物である。彼のこの考え方やそれによる仲間たちの貢献は、今やオブジェクト指向ソフトウェアのコミュニティにすっかり定着している。ソフトウェアにおけるデザインパターンの概念は、技術の高い設計者のノウハウを活用するためのキーを一般の設計者に与えているのである。
再利用可能なオブジェクト指向設計についての原理
インタフェースに対してプログラミングするのであって、実装に対してプログラミングするのではない
クラス継承よりもオブジェクトコンポジションを多用すること