网站建设资讯

NEWS

网站建设资讯

web享元模式怎么理解

这篇文章主要讲解了“web享元模式怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web享元模式怎么理解”吧!

10年积累的成都做网站、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有西乡免费网站建设让你可以放心的选择与我们合作。

意图


通过共享的方式避免在不同对象之间重复构建相同的数据或对象。

动机

面向对象设计技术的应用使程序员在处理复杂系统时,可以将系统中的个体看作一个一个独立的对象,从而大大降低了处理的复杂性。但是这种处理有时候也会带来一些问题。

例如,最近经常可以看到使用大量的无人机在空中摆造型的例子,几千个无人机在空中摆出各种图案,场景那叫一个壮观。我们今天就以无人机的通讯为例说明享元模式。首先提两个假设:

  1. 无人机数量非常巨大,以至于需要多个品牌的无人机合作演出。

  2. 不同厂家生产的无人机可以接受的命令的种类,形式,通讯方式都会有所不同。

为了能够以同样的方式控制这些无人机,我们可以设计一个通讯协议的转换类,利用者发出的指令经过这个转换类的翻译之后,转换为各个厂家,型号使用的协议之后再发出。接下来只要为每台无人机准备好协议转换的数据即可。但是我们面对的是成千上万的无人机,为每台无人机准备这样数据就需要消耗大量的内存。

这个问题可以通过享元模式来解决。由于同一厂家,同一型号的无人机可以接受的命令的种类,形式,通讯方式完全一致,所以我们只要为每个厂家的每个型号提供唯一的一个转换模块就可以了。

每次需要使用Translator的时候,利用者调用以厂家和型号为参数,调用TranslatorFactory的GetTranslator方法,如果TranslatorFactory已经持有与厂家,型号相匹配的Translator则直接将其返回,如果没有则生成相应的Translator并返回。这样就保证了每个厂家,型号的无人机只会生成一个Translator,从而避免了内存空间的浪费。

感谢各位的阅读,以上就是“web享元模式怎么理解”的内容了,经过本文的学习后,相信大家对web享元模式怎么理解这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


文章名称:web享元模式怎么理解
网站链接:http://cdweb.net/article/pjesid.html