fv17の日記 - Coding Every Day

Webエンジニアの備忘用ブログです。主にWeb界隈の技術に関して書いています。

オブジェクト指向のこころ - 5章 デザインパターンの紹介

勉強用メモ

デザパタ建築学文化人類学から生まれた

  • Christopher Alexanderという建築家「品質は客観的なものか?」
  • パターンとは、「あるコンテキストにおける問題解決の方法」である
  • パターンには、名前、目的(解決する問題)、達成方法、制約の4つが必要
  • パターンを組み合わせることで解決できる問題がある

建築の設計パターンからソフトウェアのデザインパターン

  • 1990年代の初頭、GoFデザインパターンを提唱する
  • 特定の問題を解決する品質の高い設計から学び取った教訓をパターン化した

デザパタを学ぶ理由

  • 何度も発生する問題に対する、品質の高い解決策の再利用
  • 共通言語の確立することで、チーム内のコミュニケーションを抽象化し、活性化する

優れたオブジェクト指向設計を生み出すための戦略

  • インターフェースを用いて設計する
  • クラス継承ではなく、オブジェクトの集約を多用する(深い継承階層を避ける)
  • 流動的要素を見つけ出し、それをカプセル化する