前言:
眼前咱们对“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模式毫无价值和意义
23种设计模式视频教程_b站最全的最细致的Java设计模式_java工厂模式视频教程_java工厂模式入门到入魔最全视频教程_java设计模式入门_哔哩哔哩_bilibili
标签: #java设计模式及例子