Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не понимаю ООП [7]
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Не понимаю ООП

Страниц (8): « 1 2 3 4 5 6 [7] 8 »
 

91. DeepVarvar - 20 Мая, 2013 - 16:29:44 - перейти к сообщению
caballero пишет:
и в чем эта необходимость выражается?
Видимо просто зачесалось:
Цитата:
ООП это разновидность дедовщины. Старослужащие засерают мозг начинающим и управляют ими, не на основе того, что они умнее или талантливее, а просто потому что знают набор вшивых паттернов(ака костылей). Новички ООП то-же не особо сопротивляются, так как знают что буквально через год будут делать с другими новоприбывшими то-же самое, что делают сейчас с ними.
92. PHPLamer - 20 Мая, 2013 - 16:47:11 - перейти к сообщению
DeepVarvar пишет:
caballero пишет:
и в чем эта необходимость выражается?
Видимо просто зачесалось:
Цитата:
ООП это разновидность дедовщины. Старослужащие засерают мозг начинающим и управляют ими, не на основе того, что они умнее или талантливее, а просто потому что знают набор вшивых паттернов(ака костылей). Новички ООП то-же не особо сопротивляются, так как знают что буквально через год будут делать с другими новоприбывшими то-же самое, что делают сейчас с ними.


От действий различных сил на голову я защищён хорошим слоем лучшей фольги.(нет авторитета который был давил паттернами)
Необходимость в использовании ООП увидел когда почитал код своего коллеги. А потом ещё раз взглянул на свой. Даже без комментариев его код выглядит более структурировано и понятно. Пока ещё не поздно(самое начало приложения) хочу использовать ООП, чтобы в дальнейшем кто-то из коллег мог взять реализацию части функционала на себе или подменить меня на время отпуска ну и т.п. Короче для улучшения сопровождаемости кода.
Ну и может всётаки на меня действует ООП мода)))
За статью - Спасибо.
93. caballero - 20 Мая, 2013 - 17:18:52 - перейти к сообщению
PHPLamer
структуировать код можно и без ООП. ООП это умение соответствующим образом мыслить. Иначе у тебя получится тот же говнокод только еще более запутаный.
ООп нужно применять когда ты начинаешь понимать - вот в этом месте мне нужен объект. А не просто лепить обьекты где попало.
94. esterio - 20 Мая, 2013 - 17:21:22 - перейти к сообщению
код может быть структурован и понятен без использования ООП и паттернов. Что все заладили ООП и ООП. Я например два года коджу и сам толком не знаю ООП. И разделяю я теоретиков и практиков. А практика имеет свойство быть совсем другой чем теория. Поетому если пишите для себя то конечно да - пишите в ООП с использованием тонны патеррнов. Через месяц згляните на то что написали и перепишите заново. Потом еще раз - потому как небывает ничего идеального. И если Вы замечаете ошыбки в своем коде - значит вы учитесь. И вместо того чтобы спрашиваь про какую-то вакуумную область возьмите и попробуйте. А атм и практика придет, и понимание и т.д.

П.С. все сказаное ИМХО и может не соотвествовать мнению других.
95. LIME - 21 Мая, 2013 - 11:47:04 - перейти к сообщению
caballero пишет:
когда ты начинаешь понимать - вот в этом месте мне нужен объект. А не просто лепить обьекты где попало.
к сожалению чтобы начать понимать надо сначала "просто лепить объекты"
esterio соответствует
96. igosja - 18 Сентября, 2013 - 14:11:50 - перейти к сообщению
Я с ООП не дружу, о чем писал страницы 3-4 назад.
Вот почитал литературу, появилась мысль, прошу опытных людей сказать, правильная она или нет.
Мысль такова - ООП это дальнейшие шаги к абстракции; если бы программирование не двигалось в сторону абстракции, мы бы до сих пор программировали единицами и ноликами.

То есть, функция, к примеру, round(х,у) - это тот же класс. Мы знаем как функция принимает входящие значения (х - округляемое число, у - степень округления) и знаем как она выдает результат. Что происходит внутри (в ядре функции) - это скрыто. Так же с классом.

Если мысль я уловил правильно, то дальнейшее объяснение того, что такое ООП и зачем оно нужно мне уже не требуется.
97. Zuldek - 18 Сентября, 2013 - 14:17:15 - перейти к сообщению
igosja пишет:
Я с ООП не дружу, о чем писал страницы 3-4 назад.
Вот почитал литературу, появилась мысль, прошу опытных людей сказать, правильная она или нет.
Мысль такова - ООП это дальнейшие шаги к абстракции; если бы программирование не двигалось в сторону абстракции, мы бы до сих пор программировали единицами и ноликами.
Если мысль я уловил правильно, то дальнейшее объяснение того, что такое ООП и зачем оно нужно мне уже не требуется.

В общем смысле уловили верно. Но абстракции бывают разные. В данном случае абстракция слишком широкое понятие, а суть ООП есть в представлении всех сущностей в виде объектов и их свойств. То есть, к примеру вызов какой-нибудь отдельной функции, в общем смысле, есть абстрактное представление для удобства произведения, в конечном счете, последовательности бинарных операций машиной, но объектного подхода конкретно в этом действии нет.
98. igosja - 15 Октября, 2013 - 20:40:02 - перейти к сообщению
А если брать в общем, то я думаю, что конечный результат больше зависит от прослойки между креслом и монитором, чем от использования или неиспользования ООП.
99. deblogger - 01 Ноября, 2013 - 08:45:30 - перейти к сообщению
igosja пишет:
Мысль такова - ООП это дальнейшие шаги к абстракции; если бы программирование не двигалось в сторону абстракции, мы бы до сих пор программировали единицами и ноликами.


Нет ничего более абстрактного чем единицы и нолики. Найдите перфоркарту и расскажите о чем вам ее дырки поведали.

Для тех кто начинает изучать. Не все так сложно когда понимаешь и все очень сложно когда не понимаешь. Это общее правило изучения предмета? Это общее правило изучения любого предмета. Нет другого пути как создать в голове структуру ответственную за понимание этого предмета - понятие. Нейронно именно так все и происходит. Чтобы понять как устроен объект или явление - надо организовать определенным образом связи в мозгах. Пока эти связи не установлены - вы не понимаете. Устанавливаются - начинаете понимать, установились более-менее - поняли. Затем только наращивание мощности. Мощность потребляет ресурсы, требует приложения силы. Поэтому дело не в сложности - а в трудности. Хотите что-то понять - не бойтесь трудностей.

В программировании нет разницы из чего растут объекты. Это не реализация, а принцип. В процедуре вы имеете дело с набором типов данных. Целое, строка, с точкой, дата и тп. В объекте - со структурой. Структура описывается в классе. Затем нетрудно воткнуть в эту структуру ссылки на точки вызова функций и выложив по известным смещениям параметры - вот вам и методы. Которые в пределах выделенной памяти под подведомственную им структуру могут ей оперировать. Таким образом у процедуры нет интерфейса - у объекта он есть. Процедура может взаимодействовать с другими процедурами повинуясь коду процедуры main (грубо говоря, внепроцедурному коду). Обхект взаимодействует с другими объектами согласно плану - классу - через свой интерфейс.

Интерфейс это станция пересадки. Например я сейчас использую веб-интерфейс доступа к объекту БД этого форума. Поедая колбасу вы используете как интерфейс системы питания - рот и желудок.

Короче, если не понятно - смотрите первый абзац. Нельзя ничего понять не понимая.
(Добавление)
Много метафор для ООП, типа вот чертеж, вот здание. Это значит класс и объект. Прикольно, тогда инъекция объекта будет означать проникновение через окно, а статический объект - жизнь на чертеже. Типа на ночь дом собирают, на день разбирают.

Так вот, я еще одну придумал. Процедуры плавают в питательном бульоне пока их не соединят в объекты - в молекулы способные реплицироваться. Репликация обусловлена наличием интерфейса, того самого. Объект может взять и сам себя скопировать. А функция - не может. У нее нет плана постройки самой себя, у нее нет ДНК. У объекта - есть такой план - это класс. Поэтому ООП это жизнь, а ПП - не жизнь. Что не умаляет, конечно.

Кстати, жизнь с точки зрения ООП - абсолютно абстрактна. Способна появляться в любых достаточных для репликации условиях. Напишите такой класс, попробуйте.
(Добавление)
UPD, у процедуры есть интерфейс, но примерно такого метафорического порядка как если вас подключить не к колбасе с хлебом, а к аппарату закачивающему в вены все необходимые питательные вещества.
100. like_you - 11 Апреля, 2014 - 04:04:31 - перейти к сообщению
Спустя пару годиков программирования с помощью ООП на PHP, могу это образно сравнить следующим образом.

Действующие "лица" в процедурном стиле программирования:

  1. главнокомандующий - это сам программист
  2. генерал - это PHP
  3. оружие - это функции
  4. библиотеки функций - это наемные солдаты
  5. боеприпасы - это данные и переменные
  6. поле боя - страницы скрипта


Действующие "лица" в ООП стиле программирования:

  1. главнокомандующий - это сам программист
  2. генерал - это PHP
  3. карты поля боя - это абстрактные классы и интерфейсы
  4. структуры спецвойск (пихота, артилерия, десант...) - это классы готовые для реализации
  5. особые войска - связисты - это области видимости (public, protected, private)
  6. солдаты спецвойськ - это объекты классов
  7. войска союзников - это библиотеки классов
  8. оружие - это методы классов
  9. боеприпасы - это данные и переменные
  10. поле боя - страницы скрипта
101. caballero - 11 Апреля, 2014 - 10:06:24 - перейти к сообщению
лучше бы ты за эти пару лет освоил какую профессию не связанную с программированием
102. PHPLamer - 11 Апреля, 2014 - 11:27:35 - перейти к сообщению
В армию сходил Ха-ха
103. like_you - 11 Апреля, 2014 - 17:24:05 - перейти к сообщению
caballero пишет:
лучше бы ты за эти пару лет освоил какую профессию не связанную с программированием
И что тебе, как специалисту высокого класса, показалось в моем сравнении не правильным?
104. caballero - 11 Апреля, 2014 - 18:10:05 - перейти к сообщению
сравнение настолько бессмысленное что определение правильного и неправильного также теряет всякий смысл
105. like_you - 11 Апреля, 2014 - 18:20:07 - перейти к сообщению
caballero пишет:
сравнение настолько бессмысленное что определение правильного и неправильного также теряет всякий смысл
Ото ты такой специалист...

 

Powered by ExBB FM 1.0 RC1