轻量模式
A.定义:
运用共享技术有效地支持大量细粒度对象。
B.定义分析:
“运用共享技术有效地支持大量细粒度对象”.比如,一段文字,一幅图片,一个颜色,所有用到的地方,都使用同一个对象,而不是每次都new出一个新的实例。
“运用共享技术有效地支持大量细粒度对象”.比如,一个文档编辑器,里边的字符,图形,标点等等,如果每个单一的元素都用一个对象实例的话,那对象数量就会很多很多。
C.问题:
(1)共享技术怎么有效地支持大量细粒度的对象?
建立一个共享对象池,所有的实例请求都经过共享池的接口,这样就达到了共享对象的目的。
需要注意的是,为了是共享实例能够多个地方使用,需要区分对象的内部状态和外部状态,内部状态不变,而外部状态随着使用场景不同被随时赋值。