不用模式的理由
文/尔生何为
关于模式的问题我曾经跟令狐有过多次的讨论。sunway并不能算是一个严格的模式反对者,他只是反对在自己项目中采用模式。为此他举了很多的例子,基本上我还是比较认可的。例子我就不一一列举了,有过一定的编程实践经验的人多少都会碰到类似的问题,但意识到的人并不多,我作一下大致的总结:
问题主要表现在几个方面。
一方面是对于模式的初学者来说,很容易陷入为了模式而模式的误区。这里所指的初学者与学习设计模式的时间长短无关,而在于对设计模式的理解上,仅仅是把所有的模式背下来是远远不够的。用我不厚道的话来说就是:“这只是一本人肉Reference”。
另一方面是这种对模式的“硬用”实际上是低效的,因为很多时候你对某个模式的“硬用”根本就是错误的,结果必然导致在实现这一错误的“硬用”上花费很多不必要的时间,影响开发效率。
还有一方面就是一个人对模式的“硬用”错误,在团队中开始可能还不被发觉(因为只要能用,这种潜在的问题通常是不容易发现的),随着项目的不断修改,可能到很后面才发现这里的“硬用”有问题,再来修改的代价就会很大。
最后一方面是在团队开发中,各人的理解各不相同,也许一个人认为应该在这里要用A模式,但另一个人却认为应该用B模式,或者一个人“硬用”的模式对另一个人理解代码造成了不必要的障碍。
诸如此类都是sunway拒绝在项目中使用模式的合理理由,对此我基本上表示赞同。
模式的起源与其它计算机理论有很大的不同,它源于建筑设计大师Christoph.Alexander的模式思想
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15027461/viewspace-420781/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15027461/viewspace-420781/
本文探讨了设计模式在实际项目应用中的争议,分析了初学者容易陷入的误区,并从团队合作的角度出发,讨论了模式“硬用”可能导致的问题。
11万+

被折叠的 条评论
为什么被折叠?



