幸运星空

Lucker的程序人生

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

(根据MSDN Webcast 相关课程整理)

面向对象很好的解决了系统抽象的问题,同是不会损害系统的性能。但是在某些特殊应用中,由于对象的数量太大,采用面向对象会给系统带来难以承受的内在开销。

比如:图形应用中的图元等对象,字处理软件中的字符对象等。

如果采用纯粹对方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行代价。这时候,就应该考虑采用享元模式来处理问题。

clip_image002

GoF:运用共享技术处理大量细粒度对象。

clip_image004

clip_image006

采用享元模式设计思想,将重复的Font对象共享出来:

也可以将Font对象封装成属性来做。

clip_image008

Flyweight模式采用共享的方法,解决了倍乘对象带来的系统资源与性能的开销压力的问题。

<完>

posted on 2011-12-29 16:29  Lucker  阅读(380)  评论(0编辑  收藏  举报