Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 如何使用本地化(i18n)属性正确地建模对象_Oop_Data Structures_Localization_Internationalization - Fatal编程技术网

Oop 如何使用本地化(i18n)属性正确地建模对象

Oop 如何使用本地化(i18n)属性正确地建模对象,oop,data-structures,localization,internationalization,Oop,Data Structures,Localization,Internationalization,我有一个实体,它有一个id和一个标题。id始终相同,但给定区域设置时标题值会更改。我找到了三种建模方法: class Entity String getId() String getTitle(Locale) 或 或 我倾向于选择第一个,因为它不会破坏实体建模的方式,它只是对象的一种视图。第二种情况对我来说是最糟糕的 哪一个更好?还有其他方法吗?在我看来,数据本地化不会影响对象设计,所以我会选择第一种方法 几年前,我们在我的日常工作中构建了一个本地化引擎,这就是我们使用的模型,

我有一个实体,它有一个id和一个标题。id始终相同,但给定区域设置时标题值会更改。我找到了三种建模方法:

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()