詳細設計
ドメインモデルの概要図とサービスまとめ

サービス
コア
- Pending : attached を pending にして理由を設定
- Block : attached を blocked にして理由を設定
- Restart : pending / blocked を attached に変更
- Done : attached を measuring に変更
- Complete : measuring を completed に変更
- Close : attached / pending / blocked / measuring を closed に変更
- ListTask : 特定の状態の Task を価値の大きい順に列挙
詳細
Aquarium に開示するサービス
- Register : Attach した時 Task を登録する
- Unregister : Undo した時 Task を削除する
Cockpit に開示するサービス
- ListAttached : attached な Task を着手順に列挙する
- ListMeasuring : measuring な Task を完了順に列挙する
- ListPending : pending な Task を着手順に列挙する
- SumUpCompleted : completed な Task を期間ごとに集計する
モデルオブジェクト
Task
entity
以下の要素の集約ルート。
- Trophy : タスクの価値
- State : attached / pending / blocked / measuring / completed / closed
- StateLog : 状態の変更ログ
以下のリポジトリでデータを取得、変更する。
- Rack : Task を記録する
以下の要素への参照を持つ。
- Idea : Aquarium の Idea データ
大まかな挙動については概要参照。
Trophy
value
以下の属性を持つ。
- name : 名称
- number : 順列
定義する Trophy
- bronze : 1
- silver : 2
- gold : 3
- platinum : 4
State
value
以下の属性を持つ。
- state
- attached(着手済)
- pending(保留)
- blocked(中断)
- measuring(計測中)
- completed(完了)
- closed(終了)
StateLog
entity
以下の属性を持つ。
- changed_at : 変更日時
- state : 変更後の状態
- reason : 変更理由
Rack
- Task データのリポジトリ
最終更新 January 1, 0001