協業のためのクラス設計

協業のためのクラス設計についての考察。

クラス毎に分業化する場合、

  • クラス名
  • API
  • イベント
  • プロパティ

この 4 点について取り決めを行い、内部実装は各担当に任せる。

「目覚まし時計」を設計する例

クラス名

AlarmClock

API

setAlarmTime(time:Time):Time
getAlarmTime():Time
setClock(time:Time):Time
getClock():Time
addEventListener(type:String, listener:Function):void

イベント

alarm
clock

プロパティ

alarm:Booelan

このような設計をした後に実装を行えば、バグは発生するかも知れないがブレはない。