设计模式学习每日一记(12.轻量模式)

轻量模式

A.定义:

运用共享技术有效地支持大量细粒度对象。

B.定义分析:


“运用共享技术有效地支持大量细粒度对象”.比如,一段文字,一幅图片,一个颜色,所有用到的地方,都使用同一个对象,而不是每次都new出一个新的实例。

“运用共享技术有效地支持大量细粒度对象”.比如,一个文档编辑器,里边的字符,图形,标点等等,如果每个单一的元素都用一个对象实例的话,那对象数量就会很多很多。

C.问题:

(1)共享技术怎么有效地支持大量细粒度的对象?

建立一个共享对象池,所有的实例请求都经过共享池的接口,这样就达到了共享对象的目的。

需要注意的是,为了是共享实例能够多个地方使用,需要区分对象的内部状态和外部状态,内部状态不变,而外部状态随着使用场景不同被随时赋值。

原文地址:https://www.cnblogs.com/linucos/p/2228729.html