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

猜你喜欢

转载自www.cnblogs.com/verejava/p/9237043.html
今日推荐