突っ走り書き

見せるほどのものでは..

概念と仕様と実装

「ーデザインパターンとともに学ぶーオブジェクト指向のこころ」より

クラス設計では,次の3つの観点が必要.

  • 概念:(現実世界)共通なもの
  • 仕様:概念的に似通ったオブジェクト郡との通信手段
  • 実装:(プログラム)個々で異なるもの

急いでプログラミングしていると,概念レベルの観点まで考えが及んでいないような気がする.

クラスの設計作業は次の2ステップからなる.

  1. クラスが責務を全うするには,どのようなインターフェースが必要か(共通性分析,仕様を決める)
  2. クラスがどのようにして仕様を実装できるか(可変性分析,仕様を守る)

共通なものを見つける -> 異なる部分を見つけるという,トップダウンで考える(らしい).