2010-01-18 61 views
4

我正在開發一個撲克機器人項目,我必須存儲每個玩過的手的狀態。我想通過一個對象來做到這一點 - 但Players只能從狀態讀取,並且允許Dealer寫入狀態。我認爲解決這個問題的一個好方法是讓對象實現2個接口(一個用於玩家,另一個用於經銷商),但是由於我不能想到除IHandState之外的邏輯名稱,因此無法命名它們 - 是否有某種類型約定來處理這些事情?有沒有人遇到類似的東西?一個對象的兩個接口的命名約定

感謝

回答

3

PlayerStateHandlerDealerStateHandler

根據約定,我無論是接口包含-er-able

1

什麼DealerStatePlayerState

3

PlayerActionsDealerActions

PlayerAwareDealerAware

+0

我更喜歡接口的「動作」版本。 – 2010-01-18 15:12:16

-1

uasually界面將會有一個形容詞的名字。所以我更喜歡可以推薦的

1

要回答你的問題,而不是你的問題:喜歡組成繼承(包括繼承的接口)。

另外我得到的印象是你使用getters和setter來代替有意義的操作,所以封裝很差。如果你改進抽象,事情應該變得更清楚。

0

你有一個狀態對象,它的名字是HandState

使其實現兩個接口。叫他們IWriteableIReadable

然後創建播放器,它可以訪問HandState類型的對象,但是訪問它通過IReadable接口。同樣,經銷商通過IWriteable接口訪問HandState