TcpListenerクラスを使用してAsync TCP Serverを実装しました。 (非同期は、非ブロッキングであることを意味します)。複数のクライアント接続を受け入れ、データを読み込み、コールバックを提供します。サーバによって受信されるメッセージは基本的に解析される必要があるコマンドであり、データストレージ構造上でアクションをとる必要があります。データベースへのインタフェース非同期サーバーで使用するデザインパターンはどれですか?
Class MyTcpServer (with ReadCallback)
、このサーバーを呼び出すとストレージ構造は(追加、削除、検索方法で)
Class MyDatabase
としてパッケージ化されています。
これはマルチスレッドアプリケーションであり、このデータベースは最終的にシステムの残りの部分にも公開されます。
MyTcpServerとMyDatabaseのインターフェイスにどのような設計アプローチをとらなければならないのですか?
Class MsgProcessor
というシングルトンを作成してください。このクラスには、受信メッセージを処理し、データをMyDatabase
に操作するメソッドがあります。これらのメソッドは、任意のReadCallback()
で呼び出すことができますMyTcpServer
または 良いパターンがありますか?