Oop 如何使用本地化(i18n)属性正确地建模对象
我有一个实体,它有一个id和一个标题。id始终相同,但给定区域设置时标题值会更改。我找到了三种建模方法:Oop 如何使用本地化(i18n)属性正确地建模对象,oop,data-structures,localization,internationalization,Oop,Data Structures,Localization,Internationalization,我有一个实体,它有一个id和一个标题。id始终相同,但给定区域设置时标题值会更改。我找到了三种建模方法: class Entity String getId() String getTitle(Locale) 或 或 我倾向于选择第一个,因为它不会破坏实体建模的方式,它只是对象的一种视图。第二种情况对我来说是最糟糕的 哪一个更好?还有其他方法吗?在我看来,数据本地化不会影响对象设计,所以我会选择第一种方法 几年前,我们在我的日常工作中构建了一个本地化引擎,这就是我们使用的模型,
class Entity
String getId()
String getTitle(Locale)
或
或
我倾向于选择第一个,因为它不会破坏实体建模的方式,它只是对象的一种视图。第二种情况对我来说是最糟糕的
哪一个更好?还有其他方法吗?在我看来,数据本地化不会影响对象设计,所以我会选择第一种方法 几年前,我们在我的日常工作中构建了一个本地化引擎,这就是我们使用的模型,其中Locale对象由三个属性指定:语言代码、脚本代码和区域代码,共同组成一个,比如en Latn GB、zh Hans CN、sr Cyrl RS等等
我希望这会有帮助,尽管我猜,考虑到你的问题日期,你可能是去年做出决定的。谢谢,这对我的自尊心有帮助,因为尽管我争论不休,我的老板还是选择了第二种选择。他的主要论点是提供一个没有任何重复数据的模型。所以我想在这里直面我的观点,看看我是否正确。一年半之后,我可以说这是项目和企业最糟糕的选择:-/好吧,如果我至少帮助了你的自我,那就比帮助noone好:哦
class Entity
String getId()
LocalizedEntity getLocalizedEntity(Locale)
class LocalizedEntity
String getTitle()
class Entity
String getId()
class LocalizedEntity extends Entity
Locale getLocale()
String getTitle()