警告:
本人所写的所有博客均属于学习笔记,不用于任何商业用途,仅限于学习交流,也绝对不允许他人用于任何商业用途。
欠打宣言
最近第二次拜读了大话设计模式,比较经典的一本设计模式书籍,当然,再一次读完了这本书的感受就是---全忘了,这就跟张无忌学张三丰的太极拳一样,学了就忘,忘了重学,大繁化简,千锤百炼,无招胜有招么。当然我也挣扎了一下,就是用C++重新整理了设计模式的代码,然并卵,并不能阻止我忘记的最终结果,不过写了就要发出来,之前我也在网上看到了很多C++版本的设计模式的整理,各有优劣吧,我也不能说我整理的最好,但是我尽量用C++的方式还原C#的代码,让读者读起来会有比较舒服的体验,只会感受到C++和C#的区别,而不需要考虑我与大话设计模式这本书的代码思路的区别,代码比较多,我会不定时更新,当然如果有比较好的建议或者意见,评论区见,与君共勉,如果我没改,你顺网线过来打我呀~~~
类图知识点(免跪不谢)
大话设计模式先写了个简单工厂,所以总共其实有24种设计模式,可能是简单工厂太简单了吧,就不算在23种设计模式里了,然后书中又对UML类图的知识点进行了整理,不过是对C#画类图的整理,C++其实也差不多,就是没有interface的概念而已,用虚基类可替代,不过我没画类图,至于具体原因么---可能是懒吧,你们就当我不会画吧,主要是VS的画类图功能用起来的确很难受。废话不多说,知识点如下:
类图分为三层:
1.类的名称,如果是抽象类,就用斜体显示
2.类的特征,通常是字段和属性
3.类的操作,通常是方法或行为,前面的'+'表示public,'-'表示private,'#'表示protected
接口图与类图的主要区别是顶端有<<interface>>显示:
1.接口名称
2.接口方法
接口还有另一种表示方法,俗称棒棒糖表示法,就是接口图上方有个类似于棒棒糖的符号
类与类、类与接口之间的关系:
1.继承关系:用空心三角形+实线表示,实现接口用空心三角形+虚线表示
2.关联关系:一个类知道另一个类,用实现箭头表示
3.聚合关系:弱拥有关系,A对象包含B对象,但B对象不是A对象的一部分,用空心菱形+实线箭头表示
4.合成(组合)关系:强拥有关系,体现了严格的部分和整体的关系,生命周期相同,用实心菱形+实线箭头表示
5.依赖关系:人需要空气,用虚线箭头表示