Хотя ООП помогает объединять модули и разделять логику, оно также создаёт собственные проблемы. Часто у нас получается огромная цепочка наследования и ссылок. Когда что‑то одно нужно изменить, десятки других элементов ломаются. Эта проблема возникает из самой природы ООП. Оно спроектировано так, чтобы определять то, что выполняет доступ к нашим данным. Это значит, что чаще всего мы волнуемся о разъединении, сохранении принципа DRY, абстракции и так далее. Из‑за этого в результате возникает множество слоёв и ссылок просто для того, чтобы не нарушить принципы ООП, например, для управления доступом.
Это точно проблема ООП, или проблема злоупотреблением наследования, когда можно применять композицию?
ООП действительно непростой инструмент, но эта статья - какой-то один сплошной поток неструктурированного сознания.
Автору стоило бы для начала почитать какой-то концептуальный труд по ООП (например Бертрана Мэйера с его "Объектно-ориентированное конструирование программных систем"), а не забивать себе голову попурри из цитат людей, чей бэкграунд бесконечно далёк от тех областей, где ООП используют по понятным (но видимо не автору) причинам.
Большая проблема с ООП в том, что многие пытаются применять его начитавшись бестолковых статей в интернете. И эта - одна из них.
Замените в статье ООП на ФП/ПП/PHP/jQuery/JavaScript/Python/React и получите контента на год вперед.
Ну правда:
"Никаких проблем! Вы можете повторно использовать функцию из старого проекта. Но есть один нюанс: эта функция может вызывать другую функцию. Потому вам нужно будет добавить и ту функцию. Затем вы поймете, что та функция зависит от других функций. В результате вы должны добавлять кучу кода."