态地创建产品类的对象，或者从对象池中返回一个对象，或者对所创建的对象进行复杂的配置，或者应用其他的操作。这些类型的对象很有用。几个不同的设计模式都应用了工厂的概念，并可以使用在很多语言中。例如，在《设计模式》一书中，像工厂方法模式、抽象工厂模式、生成器模式，甚至是单例模式都应用了工厂的概念。
代码举例.例如，有一个codice_1类表示按钮，另有它的两个子类codice_2和codice_3分别代表Windows和Mac风格的按钮，那么这几个类和用于创建它们的工厂类在Java中