Flyweight
デザインパターンのひとつ.同じ内容のインスタンスを共有することで生成にかかるコストやメモリのコストを低減する.
同一のインスタンスを共有するため,状態が変わったりするようなものだと崩壊を招く.
森のレンダリングなどを軽量にするために用いられるため,Flyweightと呼ばれる.
code:.cs
class LetterFactory {
private static List<char, Letter> letterMap;
public static Letter Get(char alpha) {
// 同一のインスタンスは一度しか生成されない.
if(letterMapalpha == null) letterMapalpha = new Letter(alpha);
return letterMapalpha;
}
}