flavorfactory.java

来自「java与模式 一书的源码」· Java 代码 · 共 37 行

JAVA
37
字号
package com.javapatterns.flyweight.coffeestall;

public class FlavorFactory
{  
	/**
	 * @label Flyweight
	 * @supplierCardinality 0..*
	 * @link aggregation
	 */
	private Order[] flavors = new Flavor[10];
	private int ordersMade = 0;
    private int totalFlavors = 0 ;
	
	public Order getOrder(String flavorToGet)
	{
	    if (ordersMade > 0)
	    {
	        for (int i = 0; i < ordersMade; i++)
	        {
	            if (flavorToGet.equals((flavors[i]).getFlavor()))
	            {
	                return flavors[i];
	            }
	        }
	    }
	    flavors[ordersMade] = new Flavor(flavorToGet);
        totalFlavors++;
	    return flavors[ordersMade++];
	}
	
	public int getTotalFlavorsMade()
	{
	     return totalFlavors;
	}
}

⌨️ 快捷键说明

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