Ответы пользователя по тегу ООП
  • Какие проблемы в программировании решает ООП?

    @immaculate
    Программист-путешественник
    ООП позволяет действительно управлять сложностью, как сказали выше, и повышает возможность повторного использования кода.

    Но ООП языков много, и даже четкого определения, что такое ООП, и в каких ситуациях его использовать, не существует.

    Например, когда я смотрю на код на Java, мне кажется, что в нем огромное количество бойлерплейта и переусложнений типа:
    EnterpriseBusinessFactoryJavaBeanFactoryFacade
    .factoryMethodCreateDependencyInjectionStrategyMethod()


    Как и с любым другим инструментом: можно использовать ООП с умом и по назначению, а можно городить десятки паттернов, абстрактных классов, фабрик и т.п., чтобы напечатать "Hello, world". Явно определенного пути от второго к первому не существует. Врожденные способности, анализ, и много-много практики.

    Но говорить, что это врожденный недостаток ООП — явный clickbait. Точно так же можно писать плохой код на любом языке программирования и в любой парадигме.
    Ответ написан
    Комментировать
  • Зачем нужны неизменяемые объекты?

    @immaculate
    Программист-путешественник
    Вам надо почитать статьи о функциональном программировании и языках функционального программирования (например, Lisp). Неизменяемость позволяет сократить количество ошибок в коде, так как состояние объекта не может быть внезапно изменено, например, в другом потоке, или другом вызове функции. Вы всегда знаете с чем работаете.
    Ответ написан
    Комментировать