如果有关于在弹簧应用中保持某些状态的理论,请稍等一下。
例如,想象一下作为网络应用程序运行的扑克游戏。有许多事情需要考虑。例如,保持玩家拥有的扑克筹码的数量,参与牌的扑克筹码,每位玩家的牌值以及共享社区牌。下注金额,彩票总数等。
要考虑的其他事项是玩家在折叠前必须采取行动的时间分配。
无论执行游戏循环的逻辑如何,最好的方法是跟踪扑克之手的状态,以及使用spring进行完整的扑克游戏。
提前致谢。
答案 0 :(得分:1)
跟踪网络应用中的任何数据的方式相同;编写DAO接口然后创建实现。例如;
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);
}
}
每当玩家采取行动进行更改时,他们都会向网络应用发出请求。你将不得不追踪几件事情的状态,你显然不得不担心玩家之间的状态同步。