工厂模式（factory Method）的本质是什么？为什么引入工厂模式？
factory method这个被翻译成工厂方法而不是工厂模式。 所有创建型模式（抽象工厂、原型、工厂方法）要解决的问题都差不多，都是解决接口没法new的问题。 Java系的OOP都喜欢用接口来抽象，但是一旦某个算法里面包含创建对象的过程，就没法抽象了，所以有抽象工厂（额外传个参数），原型（调用一个对象的clone），以及工厂方法（调用this上的一个别的方法），形成了这三个模式。 现在的一些资料望文生义，总能搞出一堆“生活中的例子”，什么生产汉堡、妈妈做馅饼、复印机印简历，其实这几个工厂模式根本就不存在什么现实中的对应，它是new的一个替代品，任何你需要创建对象，而又不想指明他的具体class的时候都可以用。 所以在C++里面，完全可以用泛型解决问题，JS这种class直接能当参数传的语言里这几个模式也毫无必要。