function createEmployee(name, type) { return new Employee(name, type); }
function createEmployee(name, type) { switch (type) { case “engineer”: return new Engineer(name); case “salesman”: return new Salesman(name); case “manager”: return new Manager (name); }
inverse of Remove Subclass
aliases Replace Type Code with State/Strategy, Extract Subclass