DP学习——享元模式

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

享元模式

名词解析

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

享元的高雅在于:

享:共享/共用

元:元数据

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

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

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

角色

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

为的是共用对象。

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

应用场景

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

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

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

思考/启发

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

不得不说的吐槽点

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

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

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

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

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

相关推荐
牛奶咖啡133 小时前
学习设计模式《二十三》——桥接模式
学习·设计模式·桥接模式·认识桥接模式·桥接模式的优点·何时选用桥接模式·桥接模式的使用示例
左灯右行的爱情3 小时前
深度学习设计模式:责任链(Chain of Responsibility)模式(例子+业务场景+八股)
深度学习·设计模式·责任链模式
是2的10次方啊3 小时前
🚀 Spring设计模式大揭秘:23种模式藏在你每天在用的框架里
设计模式
东北南西3 小时前
设计模式-单例模式
前端·javascript·单例模式·设计模式
快乐非自愿5 小时前
掌握设计模式--命令模式
设计模式·命令模式
我希望的一路生花14 小时前
Nik Collection 6.2全新版Nik降噪锐化调色PS/LR插件
人工智能·计算机视觉·设计模式·stable diffusion·aigc
东北南西19 小时前
设计模式-工厂模式
前端·设计模式
JohnYan20 小时前
工作笔记 - 改进的单例应用
javascript·设计模式·bun
郝学胜-神的一滴1 天前
使用C++11改进工厂方法模式:支持运行时配置的增强实现
开发语言·c++·程序人生·设计模式
Leo来编程1 天前
设计模式3-模板方法模式
设计模式·模板方法模式