我正在开发一个开发扑克机器人的项目,我必须存储每一手牌的状态。我想通过一个对象来做这件事 - 但是Players
只能从状态读取而Dealer
被允许写入状态。我认为解决这个问题的一个好方法是让HandState
对象实现2个接口(一个用于玩家,一个用于经销商)但是我无法命名它们,因为我无法想到除了IHandState之外的逻辑名称 - 是否有某种约定来处理这些事情?有没有人经历过类似的事情?
由于
答案 0 :(得分:3)
PlayerActions
和DealerActions
或
PlayerAware
和DealerAware
答案 1 :(得分:3)
PlayerStateHandler
和DealerStateHandler
作为惯例,我的界面包含-er
或-able
答案 2 :(得分:1)
DealerState
和PlayerState
呢?
答案 3 :(得分:1)
要回答你的问题,而不是你的问题:首选组合而不是继承(包括接口的继承)。
此外,我通过使用getter和setter而不是有意义的操作给人的印象是你的封装很差。如果你改进了抽象,事情应该变得更加清晰。
答案 4 :(得分:0)
您有一个状态对象,将其命名为类HandState
。
让它实现两个接口。称他们为IWriteable
和IReadable
然后创建播放器,它可以访问HandState
类型的对象,但是可以通过IReadable
接口访问它。同样,经销商,它通过HandState
界面访问IWriteable
。
答案 5 :(得分:-1)
uasually界面会有一个形容词名称。所以我更喜欢 IStateable