(java开发使用设计模式)(java开发实习周记)

嗯,没有

(java开发使用设计模式)(java开发实习周记)

很不幸

几乎没有一个设计模式,是你必需掌握的

就以你说的单例模式为例

现在版本的java

实现singleton非常简单,你只需要

enum Singleton{SINGLETON//你要实现的方法,属性等,写在这里,这些跟普通的class一样}

好了

所以其实单例在enum这特特殊的class出来之后,基本上这个模式就死掉了

就你不需要费心思去写那么一大堆的单例的实现,因为没有必要

记住,enum就是内存中有限个对象的class,class理论上可以无限多个对象嘛,而单例,双例甚至三例这些,都可以看成是enum的特殊情况

所以你可以用enum实现单例

搞定了

之前之所以有那么多设计模式,还23种啥的,一个重要原因是,当时的java,语言特性较弱

而且当时java的语法进化的速度也比较慢,好几年才出一个版本

所以当时为了弥补java的一些不足,人们搞出了一大堆设计模式

而这些设计模式最早也不是针对java,而是针对c++的,gang of 4的那本书,有三个语言版本,java是最年轻的,最早是c++和smalltalk,然后java流行之后,才出了java版

但是随着java语言自身的演化,你就会发现,那些古早的经验啊,比如这些设计模式

就没用了

你可以把代码用很简洁的方式写出来,完全没有必要搞那么复杂

再比如spring的di,对吧,inject

这个在java的static import出现之后,就变得毫无价值

你不需要spring和di,你也能用static import实现相同的效果

当然这里面会有一些差异,但是大同小异了

所以现在外国啊,对于spring就没有那么积极了,相反,像red hat这种公司

就在大搞特搞quarkus,前一段quarkus的人在twitter上私信我

vert.x中国用户组能不能出个人去交流

我想了下,疫情加上去北京路途遥远,问了一圈,也没人愿意去,算了算了,婉拒了

还是让red hat的人自己去组织了

你看这两个例子就变得没什么用

再比如,visitor模式,这个算是比较复杂的一种了吧

这个在switch的pattern matching得到强化之后,也就变得没用了

具体的例子,我也不想写了,因为要解释visitor模式

switch pattern matching再过一年左右就要正式下发生产了,所以现在这个时间点

费尽力气去解释visitor模式毫无价值和意义

(java开发使用设计模式)(java开发实习周记)

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者我南柯一梦所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(java开发使用设计模式)(java开发实习周记)
本文链接:https://www.51qsb.cn/article/m8amn.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2022-12-23
下一篇2022-12-23

你可能还想知道

发表回复

登录后才能评论