最近,学习了一下C++下的设计模式,至所以强调是C++下的,因为我始终对大众讲的JAVA下的设计模式不感兴趣,对于一个没有指针的语言,我不觉得现在怎么才能把设计模式发挥出来,当然,这也是我的浅见了。
第一部分:工厂模式。工厂模式中,主要以工厂和产品的关系为例,对我们的代码结构进行举例优化。大家知道,一个类,Prouct pobj 和 Product* ptr的区别,前者是实实在在地创建一个有空间的,真实的产品,而后者只是声明了有这样的一个产品,除了一个名字的4字节(32操作系统下),并不占有空间。事实上,我们就是要用Prouct*ptr,让工厂类Factory和Product类从“聚合”的关系变成“关联”的关系,Prouct* ptr这句话似乎就像经理说,我们工厂要做一个背包,至于背包具体的颜色和大小,这个直能到生产车间才能知道。现在,我们把所有的东西都“延后”,工厂类声明背包指针,让生产车间类继承工厂类,让李宁背包继承背包类,在生产车间类中把李宁背包类构造出来,并赋值给背包指针
代码如下:
Class Factory{ Product* ptr};
Class WorkShop : public Factory;
Class Product{};
Class RealProduct{};
WorkShop wk; wk.ptr = new RealProduct; // this the point
(未完待续)