Обзор темы [Рефакторинг кода]

Замена конструктора на метод фабрики

(Replace Constructor with Factory Method)

При инициализации объекта требуется нечто большее, чем просто изготовление экземпляра какого-то класса.

Заменить конструктор на метод фабрики.

 

Конструктор класса по смыслу просто инициализирует экземпляр класса. Если требуются какие-то дополнительные действия, надо использовать метод фабрики.

Используется, когда есть объект, который обычно является экземпляром некого класса, но иногда бывает экземпляром одного из подклассов. Также имеет смысл использование метода фабрики при Замене встроенного объекта на связанный.