我正在設計一個使用MFC的UDP通信中使用的服務器。我有以下類我的UDP套接字服務器設計是否正確?
- CMyDlialog - 照顧用戶界面的
- CController - 作爲一個調解員的所有類之間
- CProtocolManager - 照顧編碼/解碼封郵件(這是一個靜態類)
- CConnectionManager - 照顧UDP連接,發送,接收
我創造CConnectionManager的對象作爲CController作爲成員變量和對象CController的CMyDialog中的成員變量。
當用戶類型的東西,壓送,我打電話CControler的方法,這將調用一個方法CProtocolManager構建數據包,並調用CConnectionManager方法來發送。
在i接收一些數據,它在CConnectionManager的一個線程來處理。在那裏我創建了一個CController的本地對象並調用一個方法,它將數據傳遞給CProtocolManager進行解碼。
現在我想通知UI有關的數據,該CControler應該怎麼辦呢?我可以通過使主對話框處理全局來向UI發佈消息,這是一種正確的方法。
也告訴我,這種設計是否正確。
在此先感謝
所以我應該將AbstractMessageReceiver *傳遞給接收數據的線程函數,並將其傳遞給控制器,它將調用實際的接收方法? – Jeeva 2010-10-07 05:58:35
你可以做到這一點,但我不知道你是否真的需要創建一個本地控制器,或者如果你可以將現有的控制器傳遞給連接管理器?然後,您可以將AbstractMessageReceiver傳遞給控制器,並且連接管理器無需擔心。 – Philipp 2010-10-07 06:26:04