在学了12种设计模式发现,设计模式的作用竟然是为了应对变化。(设计模式是程序开发中解决特定问题的优秀解决方案)
什么意思?
就是当一个需求发生改变,良好的设计模式能够使得代码的修改量最小和修改的风险最小。甚至在一些前期程序设计不好时,通过设计模式来进行补救。
于是我现在认为设计模式从一开始就是为了更有效应对变化而产生的。
而在过去没有学习设计模式之前,我在写代码的时候,总是会想怎么需求又变了,之前的设计开始变得不再适用需要大改。所以每次在做需求的时候,都祈祷需求不要总是变更。
也就是说过去做开发的前提假设是未来需求的变动不大甚至不变。
为什么我原来会对设计模式有这种认识呢?
我想问题很可能出现在自己的打的比方,我一直用建筑设计来比作程序的设计模式。虽然设计模式的理念确实也是借鉴建筑设计,但是建筑设计一旦建成就是固定不变的这个特性,我也将其带入到设计模式中,潜意识认为程序设计也是固定不变的。
这让我第一次体会到类比带来的负面影响,因为在过去对于类比自己是觉得这个一个很好用的学习新事物的方式,通过告诉你一个经验内的东西,然后告诉你一个经验外的东西这个经验内的东西相似,通过这种方式来快速学习经验外的东西。
也就是说以后使用类比要注意说明在哪些方面相似,不让自己或对方有过度理解。
总结一下:1.设计模式本身就是为了应对变化而产生的;2.使用类比需要注意说明相似的方面。
网友评论