设计模式fu用于在子类之间进行转换

时间:2012-03-08 23:00:27

标签: java design-patterns

我们正在编写一个类层次结构,它们实现了各种表示语言的方法。有一个基类LanguageCode类,其中包含多个子类,包括ISO 639-1 codesISO1LanguageCode(例如:'en'),ISO 639-2 codesISO2LanguageCode(例如:'eng ')和HumanReadableLanguageCode(例如:'英语')。在任何时候,我们都需要能够在任何两个子类之间进行转换。我们可以在这里使用一些设计模式魔术来帮助吗?

注意:

我们的第一个想法是标准化基类,并使每个子类在自身和基类的标准之间编写转换例程。这样,要在ISO2LanguageCodeHumanReadableLanguageCode之间进行转换,请使用LanguageCode作为桥梁。

1 个答案:

答案 0 :(得分:2)

只有一套语言。每种语言都有一个-1代码,一个无用的-2代码和一个-3代码。还有一个人类可读的名字。因此,使用访问器创建一个枚举以返回不同的代码,以及多个查找静态方法。