Welcome 微信登录

首页 / 软件开发 / JAVA / Java模式设计之多态模式与多语言支持

Java模式设计之多态模式与多语言支持2010-12-13作为对象的创建模式,多态模式中的多态类可有多个实例;而且多态类必须自己创建、管理自己的实例,并向外界提供自己的实例。读者在阅读本文的时候,可以参考阅读笔者的《Java与模式》一书(刚由电子工业出版社出版)中的相关章节。

引言 一个真实的项目

这是一个真实的、面向全球消费者的华尔街金融网站项目的一部份。按照项目计划书,这个网站系统是要由驱动的,并且要支持十九种不同的语言;而且在将来支持更多的语言。消费者在登录到系统上时可以选择自己所需要的语言,系统则根据用户的选择将网站的静态文字和动态文字全部转换为用户所选择的语言。

经过讨论,设计师们同意对静态文字和动态文字采取不同的解决方案:

把所有的网页交给翻译公司对上面的静态文字进行翻译, 而网页上面的动态内容则需要程序解决。

在进行了研究后,设计师们发现,他们需要解决的动态文字的“翻译”问题,实际上是将数据库中的一些静态或者半静态的数据进行“翻译”。下面就是一个典型的数据表:

货币代码货币名称货币尾数
USDAmerica (United States of America), Dollars2
CNYChina, Yuan Renminbi2
EURFrance, Euro2
JPYJapan, Yen0
代码清单1、为英文用户的准备的货币列表。

货币代码永远是上面所看到的英文代码,但是货币名称应当根据用户所选择的语言不同而不同。比如对中文读者就应当翻译成为下面的表:

货币代码货币名称货币尾数
USD美国 (美利坚合众国), 美元2
CNY中国,人民币元2
EUR法国, 欧元2
JPY日本, 日元0
代码清单2、为中文用户准备的货币列表。

这样的表会在网页上作为下拉菜单出现,用户看到的是货币名称,而系统内部使用的是货币代码。