说到"设计模式"和"设计原则"其实是最让我觉得头疼的东西~
码了那么多年代码,我觉得设"计模式和原则"已经融入我的血液了(这句话我也是听来的,我只是感同身受而已),我在刚开始学习java的几年里就已经开始为自己写一些框架和造一些轮子了,这些轮子的很多思路来自于我自己的想法/需求以及一些开源项目的"实现";
很多时候我都不会去思考我用了什么"设计模式"遵循了什么"设计原则"~
我只是在特定场景下觉得"没有比这更好的写法了",至于为什么这么写最好,没有别的更好的方式了,那我只能解释"可能我见识浅薄"要不然我会说"只可以意会不可言传"~
因为从我学习这项技能开始,我看到的,接触到的就是这样的东西~
我看过的很多优秀的框架就是那么写代码的,在读他们的代码的时候,我可能会想"哇,这么写,真的很美"~
于是,慢慢的在我造轮子的时候我会本能的去"模仿"这种我觉得很美的写作方式~这种思维方式成为了我的本能~
就像你会说中文一样,很多时候你不太会去思考中文的语法、原理和原则以及理念,你更不会去思考普通话这么发音和组织"到底"有什么好的地方~
而且有些东西真的只能意会不能言传,好比你知道1+1=2,但让你解释为什么1+1=2却真的很困难~
实际情况是,我写了那么多年代码,可能里面充斥这各种"设计模式"和"原则"(可能还有些特定场景下的"反原则"性的东西,因为在当时的场景我觉得那样写更好)可一直到很后来我才知道这个世界上存在什么"6大原则"和"23设计模式"这种可笑的东西~
我写代码只是为了优雅的解决了各种问题~
就像作家写小说,他或许根本不会去深究那些"语言学"层面的东西~这些语言学层面东西根本决定不了这个作家的某个作品是否优秀~怎么说呢?有的人能用中文写出很优秀的小说,有的人在学校研究"语言学"~他们的价值和方向其实是不同的~
我觉得这是两个领域~
当然,适当的总结(总结和归纳一些基本原则)对于后来者其实是一件好事情~
但比较可怕的是中国的应试教育早已把我们培养成本本主义思维者,很多人在看"设计模式和原则"的时候绝大多数人根本无法体会/理解这些东西的好处,以及为什么他们会成为模式和原则(很多人没有代码量的积累,无论是写还是看);
在我看来没有一定的阅读量和写作量,光学习"语言学"是写不好小说散文的~
同理,没有一定量的代码,或者没有实际场景下去理解这些"设计原则和模式"也是没意义的~
另外,这个世界总有别有用心的人,他们写不出好的小说,却总喜欢像人生导师一样站在一个高度总结出一些"经验教训""原则模式"然后向别人兜售,他们吹捧这些东西,同时用这些东西吹捧自己(计算机行业是一个很浮躁的行业,很多东西和概念被炒的很热,多数情况下是假以吹捧东西来用这些东西吹捧自己,那些真正创造价值的人才不会每天总结鸡汤,比如:你的业务量,你的系统根本不需要那些所谓大数据的牛刀,甚至根本不需要分布式计算/服务化,可你依然不在意成本把这些东西放到你的系统里,无非就是想借这些高大上的概念卖个好价钱)~
写作是一个轻松的愉快的事情,写代码也是,完全没必要给自己设下很多没意义的条条框框,解决实际问题要从实际出发~
一个人品味和对美的欣赏能力不是一天两天能积累的~不是你看几本"鸡汤""原则""模式"就能迅速成长的~
在你的见识下用你觉得最好的方式去表达一些东西,同时阅读更多的有些的"作品"去拓展你的见识,慢慢的让自己血液里融入更多的东西,比本本主义看个几天23设计模式的然后感觉自己掌握宇宙真理,人天天嚷嚷强大得多~
我觉得这是一条真理:无论你做什么,很多坑是要自己 踩一遍才能有切身体会的~