温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何用Python实现享元模式

发布时间:2022-01-13 16:15:22 来源:亿速云 阅读:130 作者:iii 栏目:大数据

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

示例代码

首先是Flyweight相关类:

如何用Python实现享元模式

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

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

如何用Python实现享元模式

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

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

效果

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

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI