Factory

source

Methods for creating domain objects should delegate to a specialized Factory object such that alternative implementations may be easily interchanged.