Question: what is the difference between abstract factory and factory?
Answer: Factory: A factory that creates objects that derive from a particular base class. Abstract factory: A factory that creates other factories, and these factories in turn create objects derived from base classes.