This insulates client code from object creation by having clients ask a factory object to create an object of the desired abstract type and to return an abstract pointer to the object.
Isto illa o código cliente da creación do obxecto, tendo clientes que pidan a un obxecto fábrica crear un obxecto do tipo abstracto desexado e retornando un punteiro abstracto ó obxecto.