疑惑
在短短的半个月中,竟然学习了十种设计模式和六大原则,虽然我的要求是第一次学习,只要能记住个大概有个印象就好。
但是不可否认的虽然优乐一些印象,不过不管什么设计模式用到的也就只有抽象、继承、封装和多态,所以难免的会有很多想似的地方。
在这么短的时间里面,我并不能完全的理解他们各自的真正的思想,所以看到太多的类似的结构往往会区分不清就如:
适配器模式和代理模式
这两种的都是加了一层来解决问题,但是这一层的意义却不相同,先来看看他们的简图:
适配器模式
代理模式
从图上看过就很相近,曾经钻了个牛角尖,没有去理解思想和结构,看了代码和上面的简图,就分不太清他们的不同点和适用范围。
不过幸运的是有一次看到一个博客,突然醒悟。
分辨
虽然他们都是抽出一层
- 适配器这一层的意义是让两个不能对接的接口通过适配对接,目的是让两个类能配合使用。
- 代理模式这一层的意义是让两个类不能直接相互调用,因为他们不合适直接相互调用。
虽然他们代码看来相似
- 但是 适配器和代理模式不管是整体结构还是UML图上来看,都是不同。当时分辨不出就是只缘身在此山中。
还有最后一点就是从适用场景和设计思想上去区分
后面的组合、外观等模式其实完全可以从设计角度去分辨,GOF他们也只是总结现有的设计模式而不是创造,说明前人还是有意无意间都有用到这些模式的。
总的来说其实还是接触的代码太少,还是小菜鸟一只,只看见过山区里的湖泊永远不会知道大海有多大。
其实我还是准备了很多东西和资料的,临了就完全写不出,看来我还是不合适当一枚作者,把很多经验只是写下来。
不过我的期望是能让我自己一步步变成大神,记录大部分是为了帮助自己,如果能帮助到你,那么更好了。
寒窗苦读十年书,临了没写出啥东西