2012-09-09 35 views
1

我正在創建一個Project RedDwarf框架(舊項目DarkStar)的棋盤遊戲。簡單的遊戲服務器的服務器字符串命令編程體系結構..!

我的問題是這樣的:

我需要來回發送從服務器到客戶端的命令和反向的,我需要一個堅實的編程架構,納入有關的命令通訊服務。

我想有一個命令接口,每個子命令都是它的一個實現(它包含命令字符串)。

例如讓我們說我們需要檢查用戶是否在線。我們有一個名爲Command的接口,然後是名爲Check的接口,它擴展了Command,最後我們實現了名爲OnlineCheck的實現。聯機檢查可能有一個名爲getCommand的方法,並會返回命令字符串。

好吧,直到現在..但我真正想要做的是,在相同的實現類中包含可能的回覆,以便我可以根據預先定義的回覆之一來檢查客戶回覆我的內容。

我應該怎麼做呢?

回答

0

首先,欣賞使用命令模式。

OnlineCheck可能有一個名爲getCommand的方法,並將返回命令String。

命令接口應該有一個入口點,如​​或run(),它將實現OnlineCheck應該執行的操作。所以不需要任何getCommand(),它反過來返回需要解釋的命令字符串。

一旦你走下這條路徑,命令實例(在這種情況下是一個OnlineCheck的實例)可以保存響應並可以發送回客戶端。客戶端反過來會將此響應返回給生成該響應的代碼塊,因爲它將是知道該命令期望的響應類型的最佳方法,並且可以適當地解釋它們。

我的兩分錢!