lina666
@lina666
Изучаю веб ЯП.

Что нужно знать про ООП?

Приветствую всех программистов, недавно углубился в ООП на php.
Скажите где можно получить исчерпывающую информацию как работать с ООП, я умею пользоваться справочником, но когда не знаешь, что в нем гуглить не очень получается находить информацию и на каком сайте есть хороший сборник задач для этой темы?
  • Вопрос задан
  • 5421 просмотр
Решения вопроса 1
Tomio
@Tomio
backend developer (python, php)
Изучая ООП вам нужно будет понять:
  1. основные принципы ООП: инкапсуляция, полиморфизм, наследование. И еще почитайте про абстракцию.
  2. отличие self от static. Почитать про раннее и позднее статическое связывание
  3. принципы SOLID
  4. смысл инъекции зависимостей (Dependency Injection) и инверсии зависимостей (Dependency Inversion - один из принципов SOLID)
  5. основные шаблоны проектирования (design patterns)

Ну и научитесь думать абстрактно) Не завязывайтесь на реализации, прорабатывайте интерфейсы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
@Evident
От ООП в php одно название, потому что даже перегрузки методов нет.
Чтобы проще постичь ООП, переходите на Java или C#.
Ответ написан
@AndrewRusinas
Напишу с точки зрения джаваскриптора. С php знаком поверхностно, и, как по мне, там это бесполезная затея. Как и, простите, сам php (сугубо моё мнение, не холивара ради).

При ООП требуется совершенно иное мышление. Мыслить придется очень абстрактно, продумывая порой одну только структуру целыми неделями. И проблема ООП в том, что она позволяет эту структуру обдумывать неделями, в то время, как при функциональном/императивном подходе можно было уже написать рабочий прототип и отрефакторить. Фактически, никаких преимуществ не возникает, опять же, с моей точки зрения и имеющегося опыта. Так как возникает большой простор для творчества, то по незнанию можно весь код усложнить в сотню раз, в то время, как ООП наоборот позиционируют как парадигму, упрощающую поддержку.

Например, класс User. Может, он умеет создавать записи в блог? А может есть класс Blog, с методом .newPost()? А может и вовсе Post.new()?

Для меня эти вещи оказались избыточными, хотя возможно во мне говорит нехватка опыта и я буду рад, если меня поправят.
Ответ написан
@vanyamba-electronics
Рекомендую почитать Гради Буча.
Ответ написан
Комментировать
@S-a-n-d-r-0
Список принципов ООП скудный и охватывает далеко не все. Почитайте это:
https://ru.wikipedia.org/wiki/Категория:Принципы_п...
Ответ написан
Комментировать
@rook_lem
Всё, что нужно знать про ООП:
1) Это не "серебряная пуля"
2) Это главенствующая, но далеко не самая правильная парадигма
3) Есть куда более привлекательные, понятные и позволяющие писать более надёжный код подходы

https://tproger.ru/translations/oop-the-trillion-d...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы