最近在学习设计模式时,发现总是会有一些疑问,有的能找到答案,有的不能找到答案。如下:
1. 在相同的场景下,如果不使用模式,会有什么问题?
2. 使用了模式后,解决了什么问题?还有什么问题没有解决?会不会带来新的问题?
3. 解决同样的问题,是不是只有一种模式可用?
4. 如果有多个模式可以使用,那么,哪一个是最合适的?还是需要结合使用?
5. 相似的模式之间有什么不同?
6. 不同的模式之间有什么联系?
7. 每个设计模式中,有哪些角色?
8. 每个设计模式,都是通过什么技术特点来实现其定义的目的?
9. 每个设计模式,除了标准的、典型的例子,都有哪些扩展和变形的实现?
10. 设计模式在实际项目中有哪些应用?是否有相应的实例?
11. 目前流行的框架和开源项目中,使用了哪些模式?
我想,如果上面的问题都能得到解答,一定会对理解和掌握设计模式有很大的帮助。
(这好像是个废话,也好像是个很理想的想法。不过,这应该是个努力的方向吧。:P )