協業のためのクラス設計についての考察。
クラス毎に分業化する場合、
- クラス名
- API
- イベント
- プロパティ
この 4 点について取り決めを行い、内部実装は各担当に任せる。
「目覚まし時計」を設計する例
クラス名
AlarmClock
setAlarmTime(time:Time):Time getAlarmTime():Time setClock(time:Time):Time getClock():Time addEventListener(type:String, listener:Function):void
イベント
alarm clock
プロパティ
alarm:Booelan
このような設計をした後に実装を行えば、バグは発生するかも知れないがブレはない。