DP学习——享元模式

学而时习之,温故而知新。

享元模式

名词解析

有必要解释下"享元"两字,英文原文是flyweight pattern------轻量级模式,但是翻译过来的"享元"两字太牛逼了------褒贬不一,翻译的他妈都不认识。

享元的高雅在于:

享:共享/共用

元:元数据

合在一起------享元:共享元数据。

至于元数据是啥,看个人理解------对象,结构体、内存块等都可以。

点评下:看了享元模式,我个人觉得可以按照原本英文 Flyweight pattern翻译为通俗的"轻量级模式"或者"共享模式"。个人粗俗理解。因为不得不吐槽下,"享元"两字把人给吓住了------这是啥?肯定很难!很多人放到最后学习,最后一看,日了狗了,核心思想不就共享对象模式么?"享元""享元",谢谢你的翻译哇!!

角色

所以角色,也没那么多必要了,核心就是共享资源,共享对象,一般是3个角色,享元抽象类,享元子类,享元工厂类。

为的是共用对象。

只要共用对象,也不必要非得这样,弄个简单的管理也可以的,就一个享元类和管理享元类就够了,爱咋咋地。

应用场景

共享对象,节省内存,首先想到的是内存管理,你看一般内存管理都是维护2个链表------空闲链表和已使用链表------这不就是典型的使用场景么?

这个思想就是享元模式思想。只不过把这些早就存在的代码提炼出来,起个名字吧!------轻量级模式?这个原版英文的翻译太普通了,不能装逼!------共享模式?太通俗了,大家见名知意,很快就会了,我就不能装逼了,不行不行。共享、共享、共享啥呢?有个元数据的翻译?结合下?共享元数据模式?还是太通俗了,大家一看就懂,知识这么廉价的么?古代写书都是越看不懂越高深!(统治阶级愚民政策)那提炼下------"享元"模式。very very very good!oh,

no,太俗了,应该是pretty pretty pretty good!

思考/启发

现在我越来越觉得,设计模式就是不同场景下代码(或者类)的组织形式、武功招式或者兵法。

不得不说的吐槽点

建议翻译技术类的书,不要整的那么"高雅",高大上,这是看技术翻译书的大多数人的心声。

对比英文原版,尼玛,一句话的事,翻译过来的看不懂,像linux内核中文版书,和原版英文,那意思差了十万八千里------这种臭毛病是来自于中国传统出书------古代的书因为统治需要,"玄之又玄,众妙之门",书中越"玄"越牛逼。

从繁体字到简体字,从文言文到白话文,是为啥?为了增加大家的识字学习负担??为了让你高知识分子没事了在这耽误大家?

翻译技术类的书,又不是写作文,让你在这拽字呢?这些技术书背后是代码,公式等之类的,你增加大家的学习难度呢?!

还有学校技术类的书,几十年不变,这个算了涉及太多利益。

相关推荐
花椒技术10 小时前
HJPusher / HJPlayer SDK 实践:我们为什么把直播推播链路拆成一套可复用能力
设计模式·harmonyos·直播
艺艺生辉18 小时前
迭代器模式-"我也想被增强for循环"
设计模式
咖啡八杯2 天前
GoF设计模式——策略模式
java·后端·spring·设计模式
槑有老呆4 天前
别再手搓 Prompt 了,那个叫"手动挡循环"
设计模式
用户6919026813394 天前
Vibe Coding 开发项目的基本范式
人工智能·设计模式·代码规范
怕浪猫5 天前
领域特定语言(Domain-Specific Language, DSL)
设计模式·程序员·架构
Larcher7 天前
AI Loop:让AI像人一样自主完成任务的核心机制
javascript·人工智能·设计模式
咖啡八杯8 天前
GoF设计模式——享元模式
java·spring·设计模式·享元模式