一行代码实现设计模式中的单例
给你们看一段有意思的代码就一行代码实现了设计模式中的单例。objectConfig上面是用Scala语言实现的也即是单例模式在Scala就是一个特性而已毕竟单例模式原本想表达的意思是整个系统只有一个实例。但是在java里想实现这个就得好几行代码了如下publicclassConfig{privatestaticfinalConfigINSTANCEnewConfig();privateConfig(){}publicstaticConfiggetInstance(){returnINSTANCE;}}这个跟java这门语言的设计有关当时设计这门语言的java之父对程序员是持悲观态度的他不想给程序员太多的权利因此把语言设计的严谨安全这个就会导致语言的表达力受损。所以你才会看到只要是用java实现的不管是业务项目开源框架都在用设计模式。那设计模式本身有问题吗?完全没有问题的。它只是一种解决某个问题的模式而已比如Factory真正解决的是对象创建和对象使用解耦。Strategy真正解决的是行为可以自由替换。Observer真正解决的是发布者不用关心订阅者。所以日常开发中你应该先搞清楚要解决的问题是什么是否可以用一下设计模式。仅此而已。假设你认为这个时候全局需要单实例如果用的是java语言那就老老实实写那十几行代码除非后续java把单例作为一个语言特性。而如果用的是scala那就一行代码就够了。至于有人在喷设计模式的理由无非就是确实存在跟风的问题用设计模式进行过度设计而java本身语言设计的问题又导致必须写很多的代码来完成这个设计模式导致代码里充斥着这种不太容易看懂的代码程序员功力不够不知道何时用设计模式何时不用。这个跟设计模式没有任何关系别往它身上扯。是使用的人滥用而已。