首页 > 其他 > 详细

设计模式——享元模式

时间:2020-03-22 16:15:28      阅读:58      评论:0      收藏:0      [点我收藏+]

一、概念:运用共享技术有效的支持大量细粒度的对象。

二、UML示意图

技术分享图片

 

 定义一个抽象Flyweight类和一个可接受外部状态ExtrinsicState的Operation接口,具体Flyweight类可继承这个抽象Flyweight类并实现这个Operation接口。Client通过FlyweightFactory获取Flyweight对象,并传入外部状态执行Operation方法,这样就可以实现Flyweight可以共享大部分相同状态的同时又可以有不同的部分,可以更好地复用Flyweight对象。

三、优缺点

优点:

  • 因为把不能共享的部分作为外部状态分离了出来,使得享元对象能够共享,能够大幅度地减少内存中享元对象的数量,节省了系统内存开销

缺点:

  • 外部状态由客户端管理,使得客户端逻辑变得复杂。
  • 提高了系统的复杂度,需要分离出外部状态和内部状态,而且外部状态具有固有化的性质,不应该随着内部状态的变化而变化,否则会造成系统的混乱。

设计模式——享元模式

原文:https://www.cnblogs.com/winsons/p/12546390.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!