haibo
CJSDN高级会员
发贴: 322
积分: 71
|
于 2008-11-26 12:18
最近读了一些同事写的代码,其实就是个简单的功能块,,发现被他写的又是接口,又是工厂模式什么,看了好几个类和接口后,东找西找才明白最后要做的事是什么,真是让人啼笑皆非,模式也被滥用了。其实这么简单的一个功能块,你就以最简单的方式写出来不就行了,这样硬套模式,反而让人摸不着头脑。写到这里可能有人拍砖,说就怪老汉我不懂模式,与同事交流起设计来没有“共同语言”,然而老汉我真的就不喜欢这种把简单问题复杂化的方式,一段本来几十行代码就能解决的事情,非弄得几个类和接口来协作,我觉得一方面是可读性不太高,另一方面是执行效率不高,新类的装入与垃圾回收,不必要的函数调用其实都是一笔开销。 写到这里,估计还有一部分人认为这时候应用模式应该是对的,我们姑且不谈这个,想想模式的初衷是什么:易扩展,减少copy&paste提高效率,易读性。这里除了“易扩展”,其他两项应用到这里很明显是牵强的,再说几十行代码就能解决的东西谈扩展性,我觉得是没事找事。 把简单的事情搞复杂,很多人都很擅长,但是把复杂的事情搞简单的人却很少。不禁让我联想到一个人和一间房子,房子空空的就一个人住,日常用的东西很少,可这人非要把这些东西分门别类的放到不同的房间去,,每天用的时候各个房间乱跑,,,其实他只要放到一个房间里就行了,伸手即取,,,, 总结:模式应用要遵循他的初衷--易扩展,提高效率,易读,,,不可滥用
其实我相信,好的模式是从你的现有代码里提炼出来的,,一开始建工程,建类,建功能模块时就使用模式,,你一定要再三斟酌是否有必要
|