平行的类层次结构中，常常需要一个层次结构中的对象能够根据需要创建另一个层次结构中的对象。工厂方法模式可以用于测试驱动开发，从而允许将类放在测试中。举例来说，codice_6这个类创建了一个codice_7对象，但是codice_7对象不能放在自动的单元测试中（可能它需要访问产品数据库，而这个数据库不是随时能够访问到的）。所以，就可以把codice_7对象的创建交由codice_6类的一个方法（虚函数）codice_11完成。为了测试，再创建一个codice_6的一个子类codice_13，重写codic