我正在開發一個撲克機器人項目,我必須存儲每個玩過的手的狀態。我想通過一個對象來做到這一點 - 但Players
只能從狀態讀取,並且允許Dealer
寫入狀態。我認爲解決這個問題的一個好方法是讓對象實現2個接口(一個用於玩家,另一個用於經銷商),但是由於我不能想到除IHandState之外的邏輯名稱,因此無法命名它們 - 是否有某種類型約定來處理這些事情?有沒有人遇到類似的東西?一個對象的兩個接口的命名約定
感謝
我正在開發一個撲克機器人項目,我必須存儲每個玩過的手的狀態。我想通過一個對象來做到這一點 - 但Players
只能從狀態讀取,並且允許Dealer
寫入狀態。我認爲解決這個問題的一個好方法是讓對象實現2個接口(一個用於玩家,另一個用於經銷商),但是由於我不能想到除IHandState之外的邏輯名稱,因此無法命名它們 - 是否有某種類型約定來處理這些事情?有沒有人遇到類似的東西?一個對象的兩個接口的命名約定
感謝
PlayerStateHandler
和DealerStateHandler
根據約定,我無論是接口包含-er
或-able
什麼DealerState
和PlayerState
?
PlayerActions
和DealerActions
或
PlayerAware
和DealerAware
uasually界面將會有一個形容詞的名字。所以我更喜歡可以推薦的
要回答你的問題,而不是你的問題:喜歡組成繼承(包括繼承的接口)。
另外我得到的印象是你使用getters和setter來代替有意義的操作,所以封裝很差。如果你改進抽象,事情應該變得更清楚。
你有一個狀態對象,它的名字是HandState
。
使其實現兩個接口。叫他們IWriteable
和IReadable
然後創建播放器,它可以訪問HandState
類型的對象,但是訪問它通過IReadable
接口。同樣,經銷商通過IWriteable
接口訪問HandState
。
我更喜歡接口的「動作」版本。 – 2010-01-18 15:12:16