concretecompositeflyweight.java

来自「《JAVA与模式》附书中源代码」· Java 代码 · 共 41 行

JAVA
41
字号
package com.javapatterns.flyweight.composite;

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

public class ConcreteCompositeFlyweight extends Flyweight 
{
    private HashMap flies = new HashMap(10);

    /**
     * @link aggregation
     * @directed
     * @clientRole Composite
     */
    private Flyweight flyweight;

	public ConcreteCompositeFlyweight()
	{ 
	}
	
	public void add(Character key, Flyweight fly)
	{ 
		flies.put(key, fly);
	}
	
	public void operation(String extrinsicState)
	{
        Flyweight fly =  null;

		for ( Iterator it = flies.entrySet().iterator() ; it.hasNext() ;  )
        {
			Map.Entry e = (Map.Entry) it.next();
            fly = (Flyweight) e.getValue();

            fly.operation(extrinsicState);
        }
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?