享元工厂与共享管理 — 软件工程选择题
题目
某地图软件用享元模式绘制树木图标。享元工厂维护一个享元池,getFlyweight(key) 方法以树种名称作为键:若池中已存在该键对应的享元对象,则直接返回池中对象;否则创建新享元对象并存入池中再返回。程序依次调用 getFlyweight("松树")、getFlyweight("柏树")、getFlyweight("松树")、getFlyweight("杨树")、getFlyweight("柏树"),并允许池中对象按需手动移除。问:上述五次调用结束时,享元池中共存有多少个享元对象? A. 5个 B. 3个 C. 2个 D. 1个