享元模式:通过共享减少细粒度对象内存开销.pptx

享元模式:通过共享减少细粒度对象内存开销.pptx

第十一章Flyweight享元

(结构型模式)

动机(Motivation)采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行时代价——主要指内存需求方面的代价。如何在避免大量细粒度对象问题的同时,让外部客户程序仍然能够透明地使用面向对象的方式来进行操作?

动机(Motivation)在某些特殊的应用中下,由于对象的数量太大,采用面向对象会给系统带来难以承受的内存开销。比如图形应用中的图元等对象、字处理应用中的字符对象等。

意图(Intent)运用共享技术有效地支持大量细粒度的对象。——《设计模式》GoF

结构(Structure)

结构详解

生活中的例子客户(某社区)通过家政服务公司雇佣保姆家政服务公司不可能为每个客户的要求雇佣一个新的保姆,反而会通过”共享”保姆的方式为不同客户服务保姆分为:看孩子的保姆看老人的保姆不通过中介的宠物保姆(不共享)保姆有:内部属性:工号,姓名,服务的公司,工资标准(元/小时)外部属性:工作地点

实现-Flyweight//Flyweightpublicabstractclass保姆{protectedstring工号;protectedstring姓名;protectedstring公司;protectedint时

文档评论(0)

1亿VIP精品文档

相关文档