千家信息网

web享元模式怎么理解

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章主要讲解了"web享元模式怎么理解",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"web享元模式怎么理解"吧!意图通过共享的方式避免在不同对象之
千家信息网最后更新 2025年01月25日web享元模式怎么理解

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

意图


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

动机

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

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

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

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

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

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

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

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

无人机 厂家 模式 型号 对象 方式 通讯 不同 数据 问题 处理 学习 复杂 内存 内容 利用者 命令 形式 种类 系统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 股票炒股软件开发公司吗 江苏提供网络技术哪家好 内存数据库的意义 组织收看 护苗网络安全课 奉贤区网络技术服务管理方法 朝阳区王宇网络技术服务工作室 小米枪战为什么没有连接到服务器 特步的软件开发岗位 什么叫校园网络安全 大专计算机网络技术专业类型 大型数据库e-r图 龙岗网络安全运维找哪家 杭州苹果软件开发怎么选 复试分数线数据库 制作软件开发流程图 口碑好的网络技术咨询软件 整改app跟网络安全有关系吗 我的世界中如何创造服务器 金蝶旗舰版退款单数据库表是哪个 网络安全手机及app 安卓与数据库的交互 市网络安全工作成效 日历数据库设计mysql 邯郸计算机软件开发服务费 上海忠客软件开发中心 软件开发是几类商标 智能边缘服务器的产品介绍 江苏工业网络技术诚信服务 浙江计算机应用软件开发定制费用 h3c磁盘加服务器
0