2008-02-08 P/A/Cの役割revised こうして実装面も考えると、各部分の役割は以下のようになるかと考えた。 Presentation UI ユーザー入力を内部イベントの送出によってControlに知らせる イベントによるため、Controlへの依存はない Control 他エージェントと連携するのに必要な機能を司る、つまり、 外部から参照する自エージェントの状態保持(byクラス変数) 内部のイベントを拾った時に自エージェントの状態を判断する(byプライベートメソッドのイベントハンドラ) 外部へのイベント送出 自エージェント内のコントロール Presentaion, Abstractionのインスタンス生成 内部イベントや外部からのリクエストに応じてAbstractionにデータ処理をさせたりPresentationの見た目変更をさせたりする。 Abstraction エージェント内の機能のロジックとデータを司る 内部処理のイベント(処理の終了ぐらいしか思い当たらない)をイベントによってControlに知らせる Presentationと同じくContolへの依存はない 次はもっと実装レベルについて。