只是寻找一些有关在 Spring 应用程序中维护某些内容的状态的理论。
例如,想象一下作为网络应用程序运行的扑克游戏。有很多事情需要考虑。例如维护玩家一手牌中的筹码数量、参与一手牌的人、每个玩家的牌值以及共享的公共(public)牌。下注金额、底池总额等。
其他需要考虑的事情是玩家在被弃牌之前必须采取行动的时间分配。
无论执行游戏循环的逻辑如何,使用 spring 跟踪一手扑克以及完整的扑克游戏状态的最佳方法是什么。
提前致谢。
最佳答案
与跟踪网络应用程序中的任何数据的方式相同;编写一个 DAO 接口(interface),然后创建一个实现。例如;
public class PokerHand {
//just a POJO
}
public interface PokerHandDAO {
public PokerHand getPokerHand(long id);
public void updatePokerHand(PokerHand hand);
}
public class InMenoryPokerHandDAO implements PokerHandDAO {
private static Map<Long,PokerHand> hands = new HashMap<Long,PokerHand>();
@Override
public PokerHand getPokerHand(long id) {
return hands.get(id);
}
@Override
public void updatePokerHand(PokerHand hand) {
hands.put(hand.getId(), hand);
}
}
每当玩家采取更改操作时,他们都会向网络应用程序发出请求。您将必须跟踪几件事的状态,并且显然您将不得不担心玩家之间的状态同步。
关于java - 在 Spring 应用程序中维护状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6610605/