Статический метод создания объекта - плюсы и минусы по сравнению с конструкторами

Статический метод создания объекта - плюсы и минусы по сравнению с конструкторами
Статический метод создания объекта - плюсы и минусы по сравнению с конструкторами - philipgraves97 @ Unsplash

Самым большим недостатком статических "создателей", вероятно, является ограничение наследования. Если вы или пользователь вашей библиотеки выведет класс из вашего Foo, то Foo::Create() станет практически бесполезным. Всю логику, определенную в нем, придется переписывать заново в наследуемом Create().

Я бы предложил компромисс: определите конструктор с тривиальной логикой инициализации объекта, который никогда не выходит из строя, затем определите создателя (создателей) с кэшированием, альтернативным построением и т.д.. Это оставляет возможность производных, и вы выигрываете от наличия создателей для данного класса.

Рекомендую посмотреть эти видео для лучшего погружения в вопрос:

Прикрепленное видео 1 - Статические методы класса зачем нужны. Модификатор static. Как влияет. ООП. Для начинающих. Урок - 94

Прикрепленное видео 2 - ООП в JavaScript. Статические методы и свойства


LetsCodeIt, 25 мая 2023 г., 17:33