關於編碼與SO相似的徽章系統已經有很多問題了,我的問題是不同的。假設我有一個網頁系統,徽章/成就,與成就鍵(ID),用戶ID和任何其他數據一起存儲在數據庫中。成就/徽章的體系結構
我的簡單問題是,我應該在哪裏存儲徽章ID?每個成績我都有一門課,所有的數據和方法都可以用來測試是否已經獲得。我想我可能有幾十或幾百個點。我希望ID只能用於硬編碼一次,並且在一個簡潔的地方,所以我不會意外更改它們或混合它們。
我很難在類代碼它們,就像
public int Key { get { return 15; } } // I'm calling it Key, not ID
但如果我拆我的多個文件中的成就,我不希望有奔波尋找最關鍵的時候我添加一個新的一個和冒着一個錯誤。
我可以把他們在其他類中的一些字典...
public class AchievementSet
{
private Dictionary<int, Achievement> _achievements;
public AchievementSet()
{
_achievements = new Dictionary<int, Achievement>()
{
{ 1, new SomethingAchievement() }
};
}
}
但現在的類本身不知道自己的密鑰,並且需要(或不是嗎?)如果我通過它進入構造函數現在我冒着數字不匹配的風險。
有什麼建議嗎?
爲什麼不將徽章存儲在數據庫中? –
我想,因爲每個徽章都有相關的代碼,您仍然需要將這段代碼與徽章ID進行匹配。所以它基本上不會解決任何問題。 – guillaume31