请大家谈谈对设计模式的看法、心得
又开始重看设计模式了,还是觉得看得很累。
到不是说书的语言晦涩,也不是书中提到的技术不了解,但问题仍旧很多。
我是个实用主义者,看书的时侯总要想一想我在开发的时侯是怎么做的,
书上的模式应该怎么合理运用?这时候不免一个头八个大,虽每次都由收获,
但是进展极为缓慢,也希望有一个更有效的学习设计模式的方法.我所谓的有效
不是说更快,而是更多更好的消化吸收。希望大家谈谈自己的看法,正面的、反面
的都可以。他山之石,可以攻玉,希望借大家的智慧,提高软件开发水平.
我的问题是:
1.这些(个)模式是怎么总结出来的?在一个什么样的项目中?产生这些模式
的推动力是什么?我的项目中是否会产生这样的推动力?
2.如何分析模式的使用条件?也就是说我们怎么来搭建系统,并且在这个系统中
如何判断应该使用某个模式而不应该使用另外一个模式?
3.模式之间的相互作用.是不是可以在不同的模式之间协作?或者在某个模式内
部嵌套使用其它模式?怎么协作?如果可以,什么情况下可以?什么情况下不可以?
为什么可以?为什么不可以?
4.怎么总结自己的项目中的模式?什么样的东西可以总结为模式?判断一个模式
的使用是不是正确,有没有基于经验的条目,用来作粗略的判断?这种经验应该怎么
样积累才更有效?
5.BS提到他更喜欢的是风格,而不是模式,因为风格可以互相支持,而模式最多
只能互相不排斥.他为什么这么说?风格的内涵是什么?怎么把握?
6.从实际的例子来说,比如STL,BOOST,有什么风格?有什么模式?库的设计者如何
考虑了风格或者是模式方面的问题的?在STL,BOOST中有体现吗?怎么体现的?这样
做的好处是什么?如果没有,为什么会没有?风格/模式的考虑在软件设计中应该放
在一个什么样的地位才合适?
上面的问题只是稍稍的列了几条.有些问题问的可能并不明确,例如"库的设计者如何
考虑了风格或者是模式方面的问题的",当然不是仅仅在问库的设计者,而是征询网友
的看法.大家不必基于上面的问题,随便说说自己的心得吧.