大话设计模式C++实现---整理简述

警告:

  本人所写的所有博客均属于学习笔记,不用于任何商业用途,仅限于学习交流,也绝对不允许他人用于任何商业用途。

欠打宣言

  最近第二次拜读了大话设计模式,比较经典的一本设计模式书籍,当然,再一次读完了这本书的感受就是---全忘了,这就跟张无忌学张三丰的太极拳一样,学了就忘,忘了重学,大繁化简,千锤百炼,无招胜有招么。当然我也挣扎了一下,就是用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.依赖关系:人需要空气,用虚线箭头表示

原文地址:https://www.cnblogs.com/SmallAndGreat/p/13468050.html