2016-04-17 63 views
0

我想知道這是什麼模式。我正在構建一個用戶可以創建其帳戶的應用程序。一旦用戶創建了自己的賬戶,她就可以獲得一些基本數據,比如金額,她的貓的名字以及其他複雜的對象。Java/Spring:填充初始用戶數據

處理這些默認值的最佳方法是什麼?

一種方法是在Account bean中對它們進行硬編碼。但是,如果這些默認值在生產中必須改變,會發生什麼?

一種天真的方式是在設置中使用默認值,然後在創建每個用戶時將它們複製到Account bean中。

雖然這些默認值因用戶組而不同,但事情會變得混亂。例如,如果用戶來自歐洲,我想將她的初始金額設置爲54歐元。如果她來自美國,我想將其設置爲-20美元。如果用戶來自中國,如果用戶來自墨西哥,則需要分配20個最初的汽車,同時分配10個建築物。

正如你所看到的,每個用戶的這些初始設置可以包含一些複雜的對象。

在Java和Spring中處理這個問題的最佳方法/模式是什麼?

+0

這沒有最好的辦法。從我的角度來看,我絕不會對它們進行硬編碼。使用屬性文件,您可以輕鬆更改或從持久性中讀取它們。 –

回答

0

屬性文件是一個很好的解決方案。數據庫將是更多的初始成本,但可能提供更好的長期價值。可以通過具有分組屬性佔每個用戶組值的差,如

us.initial_value=-20 
us.unit=USD 
eu.initial_value=54 
eu.unit=Euros 
china.initial_valu=20 
china.unit=cars 

你能有代碼提供用於默認缺省值,如果該值不是從文件中讀取正確。