: An interface or abstract class that declares the factory method , which returns a product.
: This is an interface or abstract class that defines the methods all concrete products must implement. Factory Pattern Software
: If you only ever have one concrete product, adding a factory adds unnecessary complexity. : An interface or abstract class that declares