AbstructFactory(Kit)


















































如你所见,某些类型要写重复的代码,你可能想到要用template,但是很可惜,template无法帮上忙。因为这样的代码是意义不大的:









三个create方法看起来用宏还可以实现,template无法这样做。而且create方法的参数个数也未知。template在这种情况下更是梦魇。
我们回到开始,Kit是为了自动生产对象,我们的需求是可以生成任意的Kit设计阶段未知的类的对象。其实,我们不关心使用什么技术,关键是我们关心如何得到后期定制的产品。
typelist是满足这个需求的手段。如果你对设计模式(GOF)的理解不深,那这个时候就要注意了,MCD里提到得设计模式一般使用了“广义形式”,Loki遵循设计模式得规则,却不是GOF代码示例的模式,所以我称为“广义的”,从这个意义上来说,这有助于你理解设计模式的本质。
代码不值一钱,我很高兴总能看到本质。