设计模式学习笔记--单例(Singleton)和多例(Multiton)(二)

2014-11-23 23:56:39 · 作者: · 浏览: 1
LingualResource(language,region); } } public String getLocaleString(String code) { return resourceBundle.getString(code); } private static String makeLocaleCode(String language,String region) { return language + "_" + region; } } class LingualResourceTest { public static void main(String[] args) { LingualResource lr = LingualResource.getInstance("en","US"); String usDollar = lr.getLocaleString("USD"); System.out.println("USD=" + usDollar); } }


定义一个属性文件:res_en_US.properties,内如:USD=US Dollar,即可看到演示效果。


一个根据语言代码和地区代码格式化数字的多例模式例子

import java.text.*;
import java.util.*;
class NumberFormatTest
{
	public static void displayNumber(Double d,Locale l)
	{
		NumberFormat nf;
		String dOut;
		nf = NumberFormat.getNumberInstance(l);
		dOut = nf.format(d);
		System.out.println(dOut + " " + l.toString());
	}
	public static void main(String[] args)
	{
		displayNumber(1234567.89,new Locale("en","US"));
		displayNumber(1234567.89,new Locale("de","DE"));
		displayNumber(1234567.89,new Locale("fr","FR"));
		displayNumber(1234567.89,new Locale("zh","CN"));
	}
}

类似的,可以同样方式格式化货币(getCurrencyInstance)、格式化百分比(getPercentInstance)等。


创建模式(Creational Pattern)小结


创建模式(Creational Pattern)一共有七种,分布是:简单工厂模式、工厂方法模式、抽象工厂模式、建造模式、原型模式、单例模式、多例模式。


本篇介绍了其中的2种:单例和多例。