ООП — это наложение некоторых ограничений на то, как вам разрешено использовать ваш язык. Мне очень нравится, как Брюс Ричардсон выразился:
никто, нарезающий хлеб, не думает, что посылает сообщение, говорящее ножу разрезать хлеб или говорящее хлебу нарезаться
Возможно, в некоторых случаях это имеет смысл, но в большинстве случаев это не так. Если ООП — это привязка некоторых действий к некоторым объектам, то, если кто-то хочет выполнить какое-то действие, не предусмотренное разработчиком, у него возникают проблемы.
Поэтому ООП заставляет вас придумывать решения вопросов, которые появляются исключительно потому, что кто-то решил использовать ограничения ООП в вашем проекте, например, «к какому классу должен принадлежать этот метод?» («О, я знаю, что должен создать класс контроллера»).
Считаю, что единственный подход, который действительно масштабируется, — это попытка выразить свой способ мышления о проблеме, а не заранее налагать какие-то произвольные и искусственные ограничения. Решение вопросов, которых можно было бы избежать, — пустая трата времени.
Умерло ли ООП в 2022 году?
Нет. Но в контексте вышесказанного, я думаю, что важно изучить множество различных стилей мышления, включая ООП.
Моя любимая тема и это два вопроса.
ООП — это наложение некоторых ограничений на то, как вам разрешено использовать ваш язык. Мне очень нравится, как Брюс Ричардсон выразился:
Возможно, в некоторых случаях это имеет смысл, но в большинстве случаев это не так. Если ООП — это привязка некоторых действий к некоторым объектам, то, если кто-то хочет выполнить какое-то действие, не предусмотренное разработчиком, у него возникают проблемы.
Поэтому ООП заставляет вас придумывать решения вопросов, которые появляются исключительно потому, что кто-то решил использовать ограничения ООП в вашем проекте, например, «к какому классу должен принадлежать этот метод?» («О, я знаю, что должен создать класс контроллера»).
Считаю, что единственный подход, который действительно масштабируется, — это попытка выразить свой способ мышления о проблеме, а не заранее налагать какие-то произвольные и искусственные ограничения. Решение вопросов, которых можно было бы избежать, — пустая трата времени.
Умерло ли ООП в 2022 году?
Нет. Но в контексте вышесказанного, я думаю, что важно изучить множество различных стилей мышления, включая ООП.