随笔-19  评论-2  文章-1  trackbacks-0

享元模式:flyweight pattern

     享元模式包括两种状态,内蕴状态和外蕴状态。他的种类有单纯享元模式和复合享元模式,结构图如下:

我们从结构种可以看出,复合享元模式是由单纯享元模式和合成模式组合而成的。

享元模式有四种角色:抽象享元角色,具体享元角色,享元工厂角色,和客户角色。享元模式中的享元工厂角色可以通过单例模式来实现。

使用条件:

    一个系统中有大量的对象,这些对象消耗大量的内存,这些对象大部份是可以外部化的,这些对象可以按照内蕴状态分成很多的组,当把外蕴对象从对象中踢除时,每一个组都可以仅用一个对象代替,软件系统不依赖这些对象的身份,换言之,这些对象可以是不可分辨的。不过他要使用一个维护记录了系统已有的所以享元的表,而这需要消耗资源。因此应当在有足够多的享元的实例可提供共享实才值得使用享元模式。
posted on 2005-08-11 22:37 sky 阅读(255) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: