设计模式¶
摘要
写一些Java技术相关的设计模式,使用Java代码样例理解,理论少一些,代码就是一种语言,它自己会说话。 同时我又觉得设计模式这种东西,仁者见仁智者见智,没有绝对的好坏,只有它适合的场景,你用不用的好 是一种能力,你实战的时候能不能判断出某一种设计模式可能会适合你的这个业务,这也是一种能力, 你写代码有没有有意识的去使用?有没有强搬其实完全没必要?
我周围有相当一部分同事,认为设计模式其实也就那样,虽然可以写出花来,真的场景要用到设计模式的时候寥寥无几, 甚至有这样的情况,意识到这里可以用、很合适用, 也不会去用:因为设计模式是要消耗码农们的时间精力的。在我们这样一种996常态化的职业环境下,设计模式它有一点奢侈, 大多数时候我们都是没时间去理解,把业务的功能实现才是第一位的,写完一个需求就是下一个(可能是我幸存者偏差吧)。 这是一种情况。
还有就是有一些程序员对于技术的那种追求,有一点像孔乙己的那件长衫,过于吹捧神话设计模式的功能, 很爱用,哪里都要用一下,结果功能不能按时做出来, 是不是要反思一下代码写的好看真的重要么?你用设计模式真的有必要么?
那在遇到这两种情况后,我能反思得到什么?现在的很多项目,都是屎山,当你看到屎山的时候, 你明知有一种方式可以让代码简单一点,松耦合,你会动么?理论终归是理论,现实是复杂的, 我也只能尽量保证自己在能吃饱饭的前提下把代码写好,这才是我这个普通程序员能做的最现实的举动。 所谓高山仰止,景行行止,虽不能往,然心向往之,我想这个“往”,其实也没那么重要。