Name the software engineering design pattern and give the definition of it.
Factory Method Pattern: 
The Factory Method Pattern is a creational design pattern which provides an interface for creating objects in a superclass, but allows subclasses to decide which class to instantiate. It lets a class defer instantiation to subclasses.
<s>[INST] Name the software engineering design pattern and give the definition of it. [/INST] Factory Method Pattern: 
The Factory Method Pattern is a creational design pattern which provides an interface for creating objects in a superclass, but allows subclasses to decide which class to instantiate. It lets a class defer instantiation to subclasses. </s>