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

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

Приветствую всех программистов, недавно углубился в ООП на php.
Скажите где можно получить исчерпывающую информацию как работать с ООП, я умею пользоваться справочником, но когда не знаешь, что в нем гуглить не очень получается находить информацию и на каком сайте есть хороший сборник задач для этой темы?
  • Вопрос задан
  • 5296 просмотров
Решения вопроса 2
gzhegow
@gzhegow
aka "ОбнимиБизнесмена"
А я бы добавил что ООП это украшение кода, а не его суть

Cейчас есть способы платить Амазону и вообще не писать код, создавая апишки в админке с помощью мышки. Все что будет нужно от ПХП - это делать простые скрипты которые передают данные из точки А в точку Б. Там вообще не нужен будет ООП, потому что не будет понятия "цельный проект" в рамках папки с файлами. Цельный проект это будет куча компьютеров, а на этом конкретно есть передача из А в Б. И тут уже PHPшники посмеются)) Они то готовы к такому

Увидев, что тебе понравился первый ответ (может ты его и искал?), я попробую пояснить его для тех, кому термины ничего не говорят:

https://qna.habr.com/q/655113#answer_1431141

думаю сейчас ты увидишь как набегут великие архитекторы, которые давали тебе советы по этим словам и начнут говорить что то не про это, а это не так и это не здесь. вот это еще одно что надо знать про ООП. Ты никогда не услышишь, что ты прав, потому что термины заменили им мозг, а если им сказать об этом - они объединяются в стаи, чтобы завалить тебя стикерами и унижениями.
Ответ написан
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...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы