应用场景:线程池 或者 在程序运行期间,会创建大量的某一类型对象,用池子来管理这些对象,防止大量创建对象造成的内存增长
public class Font
{
private _fileName{get;}
public Font(string key)
{
_fileName = key;
}
}
public class FontFactory
{
private Dictionary<string,Font> _fontPool;
public font GetFont(string key)
{
if(_fontPool.containskey(key))
{
return _fontPool[key];
}
else
{
Font font = new Font(key);
_fontPool.add(key,font);
return _fontPool[key];
}
}
}
注意:池子中的对象尽可能的保持只读属性,防止被修改