结构模式之享元模式

来源:互联网 发布:vivo旗舰店淘宝 编辑:程序博客网 时间:2024/06/08 15:47
享元模式就是重复利用对象,减少对象的生成,jdk中Integer利用了享元模式。下面是享元模式的示例:package com.djk.design.struct.xiangyuan;public final  class Characters {private final  String string;public Characters(String string){super();this.string = string;}public String getString() {return string;}}
package com.djk.design.struct.xiangyuan;import java.util.HashMap;import java.util.Map;public class FlyWeight{private Map<String, Characters> maps = new HashMap<String, Characters>();public Characters getCharacters (String str) throws CloneNotSupportedException{Characters characters = null;if (null == str || "".equals(str)){return characters; }if (maps.containsKey(str)){characters = maps.get(str);}else{characters = new Characters(str);maps.put(str, characters);}return characters;}}

package com.djk.design.struct.xiangyuan;public class Client {public static void main(String[] args) throws CloneNotSupportedException {FlyWeight flyWeight = new FlyWeight();Characters a = flyWeight.getCharacters("a");Characters aa = flyWeight.getCharacters("a");System.out.println(a);System.out.println(aa);}}



0 0
原创粉丝点击