Let clients create objects by naming an abstract superclass and by providing a specification. A Product Trader decouples the client from the product and thereby eases the adaptation, configuration and evolution of class hierarchies, frameworks and application
[Bau97] Bäumer D. and Riehle D.. Product Trader. In Robert C. Martin, Dirk Riehle, Frank Buschmann (editors), Pattern Languages of Program Design 3, Chapter 3, Addison-Wesley, Reading, Massachusetts, 1997.