作为对象
![](/icons/73064de.gif)
创建模式
![](/icons/73064dou.gif)
多态模式中
![](/icons/73064de.gif)
多态类可有多个例子;而且多态类必须自己创建、管理自己
![](/icons/73064de.gif)
例子
![](/icons/73064dou.gif)
并向外界提供自己
![](/icons/73064de.gif)
例子
![](/icons/73064dou2.gif)
读者在阅读本文
![](/icons/73064de.gif)
时候
![](/icons/73064dou.gif)
可以参考阅读笔者
![](/icons/73064de.gif)
![](/icons/73064smhl.gif)
Java和模式
![](/icons/73064smhr.gif)
![](/icons/73064yi.gif)
书(刚由电子工业出版社出版)中
![](/icons/73064de.gif)
相关章节
![](/icons/73064dou2.gif)
引言
![](/icons/73064yi.gif)
个真实
![](/icons/73064de.gif)
项目
这是
![](/icons/73064yi.gif)
个真实
![](/icons/73064de.gif)
、面向全球消费者
![](/icons/73064de.gif)
华尔街金融网站WebSite项目
![](/icons/73064de.gif)
![](/icons/73064yi.gif)
部份
![](/icons/73064dou2.gif)
按照项目计划书
![](/icons/73064dou.gif)
这个网站WebSite系统是要由数据库驱动
![](/icons/73064de.gif)
![](/icons/73064dou.gif)
并且要支持十 9种区别
![](/icons/73064de.gif)
语言;而且在将来支持更多
![](/icons/73064de.gif)
语言
![](/icons/73064dou2.gif)
消费者在登录到系统上时可以选择自己所需要
![](/icons/73064de.gif)
语言
![](/icons/73064dou.gif)
系统则根据用户
![](/icons/73064de.gif)
选择将网站WebSite
![](/icons/73064de.gif)
静态文字和动态文字全部转换为用户所选择
![](/icons/73064de.gif)
语言
![](/icons/73064dou2.gif)
经过讨论
![](/icons/73064dou.gif)
设计师们同意对静态文字和动态文字采取区别
![](/icons/73064de.gif)
解决方案:
把所有
![](/icons/73064de.gif)
网页交给翻译公司对上面
![](/icons/73064de.gif)
静态文字进行翻译
![](/icons/73064dou.gif)
而网页上面
![](/icons/73064de.gif)
动态内容则需要
![](/icons/73064chengxu.gif)
解决
![](/icons/73064dou2.gif)
在进行了研究后
![](/icons/73064dou.gif)
设计师们发现
![](/icons/73064dou.gif)
他们需要解决
![](/icons/73064de.gif)
动态文字
![](/icons/73064de.gif)
“翻译”问题
![](/icons/73064dou.gif)
实际上是将数据库中
![](/icons/73064de.gif)
![](/icons/73064yi.gif)
些静态或者半静态
![](/icons/73064de.gif)
数据进行“翻译”
![](/icons/73064dou2.gif)
下面就是
![](/icons/73064yi.gif)
个典型
![](/icons/73064de.gif)
数据表:
货币代码
货币名称
货币尾数
USD
America (United States of America), Dollars
2
CNY
China, Yuan Renminbi
2
EUR
France, Euro
2
JPY
Japan, Yen
0
代码清单1、为英文用户
![](/icons/73064de.gif)
准备
![](/icons/73064de.gif)
货币列表
![](/icons/73064dou2.gif)
货币代码永远是上面所看到
![](/icons/73064de.gif)
英文代码
![](/icons/73064dou.gif)
但是货币名称应当根据用户所选择
![](/icons/73064de.gif)
语言区别而区别
![](/icons/73064dou2.gif)
比如对中文读者就应当翻译成为下面
![](/icons/73064de.gif)
表:
货币代码
货币名称
货币尾数
USD
美国 (美利坚合众国), 美元
2
CNY
中国
![](/icons/73064dou.gif)
人民币元
2
EUR
法国, 欧元
2
JPY
日本, 日元
0
代码清单2、为中文用户准备
![](/icons/73064de.gif)
货币列表
![](/icons/73064dou2.gif)
这样
![](/icons/73064de.gif)
表会在网页上作为下拉菜单出现
![](/icons/73064dou.gif)
用户看到
![](/icons/73064de.gif)
是货币名称
![](/icons/73064dou.gif)
而系统内部使用
![](/icons/73064de.gif)
是货币代码
![](/icons/73064dou2.gif)
国际化解决方案
这样
![](/icons/73064de.gif)
问题就是国际化
![](/icons/73064de.gif)
问题
![](/icons/73064dou.gif)
所谓国际化就是Internationalization
![](/icons/73064dou.gif)
简称作i18n(请参见本章最后
![](/icons/73064de.gif)
问答题)
![](/icons/73064dou2.gif)
设计师所采取
![](/icons/73064de.gif)
实际方案是分层方案
![](/icons/73064dou.gif)
也就是MVC模式
![](/icons/73064dou2.gif)
MVC模式将系统分为 3个层次
![](/icons/73064dou.gif)
也就是模型(Model)、视图(View)、控制器(Control) 3个部份
![](/icons/73064dou2.gif)
国际化是视图部份
![](/icons/73064de.gif)
问题
![](/icons/73064dou.gif)
因此应当在视图部份得到解决
![](/icons/73064System.gif)
.out.pr
![](/icons/73064int.gif)
ln(amountOut + " "
+ currentLocale.toString
![](/icons/73064kh.gif)
);
}
![](/icons/73064static.gif)
public void
![](/icons/73064main.gif)
(String
![](/icons/73064zhk2.gif)
args)
{
displayPercent(
![](/icons/73064new.gif)
Double(4567.89),
![](/icons/73064new.gif)
Locale("en", "US"));
displayPercent(
![](/icons/73064new.gif)
Double(4567.89),
![](/icons/73064new.gif)
Locale("de", "DE"));
displayPercent(
![](/icons/73064new.gif)
Double(4567.89),
![](/icons/73064new.gif)
Locale("fr", "FR"));
}
}代码清单13、Resource文件res_zh_CH.properties
![](/icons/73064de.gif)
内容
![](/icons/73064dou2.gif)
在运行时,
![](/icons/73064chengxu.gif)
回打印出下面
![](/icons/73064de.gif)
结果:
1,234,567.89 en_US
1.234.567,89 de_DE
1 234 567,89 fr_FR
代码清单14、Resource文件res_zh_CH.properties
![](/icons/73064de.gif)
内容
![](/icons/73064dou2.gif)
(本章问答题第 2、 3、 4题
![](/icons/73064de.gif)
解答参考了[GREEN]
![](/icons/73064de.gif)
相关例子
![](/icons/73064dou.gif)
在这里我作了
![](/icons/73064yi.gif)
些改动
![](/icons/73064dou2.gif)
)
延伸阅读
最新评论