memo/20120719
created 2012-07-19 modified 2012-07-19
いわゆる普通のアプリケーションの場合
main() Mainつくってメインループ呼ぶ Main 全部を所有。メインループはここに書く ◆ | |__Configure プロセスの設定、コマンドラインオプション等 | |__EventStore アプリ内のイベント保持。キー状態保持とか | |______Algorithm ユーティリティ関数群。出力は戻り値かoutパラメータにする | | | ◇ |____Action アプリの行動。箇条書き風のメソッド実装を目指す | ◇ | | |____DataMgr データ管理 ◇ | |__*_DataEntry アプリ実行に沿って増減するデータ
データ入出力が大事な場合
Main ◆ | |__Configure プロセスの設定、コマンドラインオプション等 | | |__IOMgr 会社で言うと営業部 | |__TransactionPool | | |__Transaction 受けたもの、送るものの1セットを保持。トヨタでいうカンバン | | |__RecvPacket 外部とのやり取りフォーマット | | |__SendPacket | | |__RecvData 内部処理フォーマット。パケットごとにたくさんつくる | | |__SendData | | | |__Layer1Decoder | |__Layer1Encoder | |__Layer2Decoder | |__Layer2Encoder | | | |__PeerAHandler あるお客さんAの営業担当者 | | |__PeerAReceiver 受信 (連番管理、...) | | |__PeerASender 送信 (連番管理、...) | |__PeerBHandler | | |__PeerBReceiver | | |__PeerBSender | |__PeerCHandler | | |__PeerCReceiver | | |__PeerCSender | | | |__Timer | |__ActionMgr 会社で言うと内勤部署。Transactionは、ActionMgrというベルトコンベアを通って、1件終了。 | | | |__State1Action 状態ごとに違う動きするならステートパターン使う。 | |__State2Action | |__State3Action | |__DataMgr データ管理。会社で言うと経理、倉庫、金庫、資料室。 ◇ | |__*_DataEntry アプリ実行に沿って増減するデータ | |__*_ReservedTransaction 社内で保留されてるトランザクション RecvData △ |__CommandAAARequest PeerA からの要求 とか |__CommandBBBRequest PeerB からの要求 とか |__CommandCCCResponse PeerC からの応答 とか SendData △ |__CommandAAAResponse |__CommandBBBResponse |__CommandCCCRequest
は!しまった、ポリシーに反してアルファベットで書いてしまった...
凡例 持ち主 ◆---- もたれるひと 参照するひと ◇-- 参照されるひと 基底クラス △ |__派生クラス