> A factory object can be used to create different types of objects under a specific superclass. > More flexible and less work will need to be done when new classes of objects are added. ## Problem Problematic when adding new classes. May need to modify the entire codebase. ## Solution Instead of crating the objects directly, use a "factory" to create objects in one place, so that when a new class of object is added, you just need to modify one place. ## Sample Code <!-- [Sample Code](../../src/creational_patterns/factory_method) --> ## Limitation