如何用Python实现享元模式

这篇文章主要介绍“如何用Python实现享元模式”,在日常操作中,相信很多人在如何用Python实现享元模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Python实现享元模式”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联公司专注于迁安网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供迁安营销型网站建设,迁安网站制作、迁安网页设计、迁安网站官网定制、小程序制作服务,打造迁安网络公司原创品牌,更为您提供迁安网站排名全网营销落地服务。

示例代码

首先是Flyweight相关类:

如何用Python实现享元模式

Flyweight主要是定义了一个适用外部状态的operation方法,接下来ConcreteFlyweight具体实现了这个方法,代码中将外部状态叠加在对象的输出上;另外一个UnsharedConcreteFlyweight是非共享具象类,它的输出只输出对象自身的状态。

如果只到这一步的话,和享元并没有太大的关系,接下来是关键:

如何用Python实现享元模式

代码中为每个对象赋予了不同的外部状态。接下来是程序输出:

前两个输出来自于同一个对象,但是输出不同的外部状态,后面三个输出分别来自不同的对象。

效果

使用享元模式可以节约不同使用者持有相同数据时造成的内存空间浪费,这种对象越多,效果越明显。但是需要注意的是,管理外部状态也需要执行时间和内存空间的代价,在实际使用的时候需要计算得失之后再决定。

另外一种情况是由于软件的需求在使用者之间共享对象,这时享元模式可以作为实现方式的一个可选项。当然了,这种情况下效率和空间就不是第一位的因素了。

到此,关于“如何用Python实现享元模式”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


网站题目:如何用Python实现享元模式
网页路径:http://cdiso.cn/article/jcpdos.html

其他资讯