Factory Method vs Constructor

What is the primary design motivation for using a Factory Method instead of calling a constructor directly?

A

Factory Methods enforce that all parameters are validated before construction

B

Factory Methods are faster because they avoid the overhead of constructor initialization

C

Factory Methods allow the caller to create objects without coupling to the concrete class being instantiated

D

Factory Methods guarantee that only one instance of a class is ever created