DP学习——享元模式

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

享元模式

名词解析

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

享元的高雅在于:

享:共享/共用

元:元数据

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

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

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

角色

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

为的是共用对象。

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

应用场景

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

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

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

思考/启发

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

不得不说的吐槽点

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

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

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

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

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

相关推荐
编程、小哥哥24 分钟前
设计模式之组合模式(营销差异化人群发券,决策树引擎搭建场景)
决策树·设计模式·组合模式
hxj..2 小时前
【设计模式】外观模式
java·设计模式·外观模式
吾与谁归in2 小时前
【C#设计模式(10)——装饰器模式(Decorator Pattern)】
设计模式·c#·装饰器模式
无敌岩雀3 小时前
C++设计模式行为模式———命令模式
c++·设计模式·命令模式
In_life 在生活13 小时前
设计模式(四)装饰器模式与命令模式
设计模式
瞎姬霸爱.13 小时前
设计模式-七个基本原则之一-接口隔离原则 + SpringBoot案例
设计模式·接口隔离原则
鬣主任14 小时前
Spring设计模式
java·spring boot·设计模式
程序员小海绵【vincewm】16 小时前
【设计模式】结合Tomcat源码,分析外观模式/门面模式的特性和应用场景
设计模式·tomcat·源码·外观模式·1024程序员节·门面模式
丶白泽16 小时前
重修设计模式-行为型-命令模式
设计模式·命令模式
gjh120819 小时前
设计模式:工厂方法模式和策略模式
设计模式·工厂方法模式·策略模式