Java 设计模式 之 鹰量模式

http://www.verejava.com/?id=16999120847970

package com.flyweight.theory;

public class TestChess
{
	public static void main(String[] args)
	{
		Chess black1=ChessFactory.getChess("黑棋");
		
		Chess black2=ChessFactory.getChess("黑棋");
		
		
		Chess white1=ChessFactory.getChess("白棋");
		
		System.out.println(ChessFactory.getSize());
	}
}





package com.flyweight.theory;

import java.util.HashMap;
import java.util.Map;

public class ChessFactory
{
	private static Map<String,Chess> map=new HashMap<String,Chess>();
	
	public static int getSize()
	{
		return map.size();
	}
	
	public static Chess getChess(String key)
	{
		Chess chess=null;
		if(map.get(key)==null)
		{
			chess=new Chess(key);
			map.put(key, chess);
		}
		else
		{
			chess=map.get(key);
		}
		return chess;
	}
}





package com.flyweight.theory;

public class Chess
{
	private int x,y;
	private String type;
	
	public Chess(String type)
	{
		super();
		this.type = type;
	}
	public int getX()
	{
		return x;
	}
	public void setX(int x)
	{
		this.x = x;
	}
	public int getY()
	{
		return y;
	}
	public void setY(int y)
	{
		this.y = y;
	}
	public String getType()
	{
		return type;
	}
	
	
}


http://www.verejava.com/?id=16999120847970

阅读更多
个人分类: Java 编程基础
上一篇Java 设计模式 之 流模式
下一篇Java 设计模式 之 迭代器模式
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭