![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Цербер |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 21.11.2007 Репутация: нет Всего: 1 |
Доброе время суток!!!
Я пишу на php но ООП впринципе никогда не использовал, ну если только когда учил php и ООП немного, самые азы подучил, и если почитать посидеть, то вспомню синтаксис, но не в этом суть! Меня больше интересует в каких случаях актуально использовать ООП? Актуально ли использовать ООП при написании админки к сайту! Вообщем меня больше интересует +/- и направления использования ООП по вашему мнению, но только как можно более полное описание почему да или почему нет! Заранее благодарю, не сочтите за боян! |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
Цербер, если память не изменяет на форуме уже обсуждались подобные темы.
ИМХО: как привык так и программируй -------------------- Amazing |
|||
|
||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
ООП очень хорошее подспорье когда много народа сидит над одним проектом. Да и когда сидишь один на нескольких проектах ООП позволяет использовать модули из одного с минимальными переделками в другом. Проверено собственным опытом.
Странное мнение. Если человек привык без комментариев писать код, если он у него плохо структурирован если часто повторяющиеся вещи не выносятся в отдельные блоки и т.д. и т.п. Программировать нужно грамотно так чтобы и самому по прошествии определенного времени было комфортно разбирать код и человеку который возможно придет в твою команду. ОПП как раз направлен на решение этих проблем. Цербер Решать использовать или нет конечно твоё дело, но за ним будущее. |
|||
|
||||
| Atlete |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 15.8.2007 Репутация: нет Всего: нет |
При написании больших проектов позволяет очень гибко структурировать код. Применение паттернов в последвиии очень положительно влияют на структуру программы. Четкие +\- выделить не могу, но удобство и последующее модифицирование блока программ не оспаримый факт.
P.S. Использование ООП в проекте это положительный момент, но надол так же учесть если проект представляет собой что то по типу аналога "Hello world!" то городить может и нестоит. Хотя это мое личное мнение. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Цербер, 98% людей, пишущих на пхп с использованием ООП, делают это механически, не понимая ни смысла ООП, ни преимуществ. А просто потому, что это "правильно" и "круто". Не уподобляйся им.
Дискретный и клиент-серверный характер выполнения программ на пхп очень больно ударяет по классической схеме объектного программирования, когда все данные и функции их обработки для одной сущности (пользователя, например) засовываются в один объект. К примеру, по хорошему, в объекте user должны быть методы по его редактированию и удалению. Но какой смысл тягать эти функции каждый из тысячи раз, когда он обращается к сайту? Отсюда начинают изобретаться костыли. Неочевидные. Мой тебе совет. Пиши, как пишешь. Параллельно попробуй изучать ООП и пытаться понять его принципы. плоняв - пытайся потихоньку применять их на практике. Если получится - хорошо. Ключевое слово здесь - самостоятельно. Никакой дядя тебе смысл и достоинства ООП не расскажет. Их можно понять только самостоятельно. а уж на примере пхп, когда вся программа умещается в 500 строчек, это и того сложнее. Добавлено через 2 минуты и 13 секунд Наблюдение из практики. Когда мне приходится поддерживать проект, сделанный на ООП я матерюсь и копаюсь в коде часами - найти концы совершенно нереально. Когда приходится поддерживать элементарную лапшу-овнокод, нужное место находится практически сразу =) |
|||
|
||||
| Цербер |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 21.11.2007 Репутация: нет Всего: 1 |
Feldmarschall
у меня тоже такой момент возник, человек написал проект на ООП а я сейчас сижу и фигею из под него=) но ведь сколько программистов столько и мнений=) интересно было бы услышать как можно больше мнений! тема не закрыта, буду признателен если последуют и остальные мнения! Это сообщение отредактировал(а) Цербер - 21.5.2008, 12:05 |
|||
|
||||
| QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: 1 Всего: 32 |
Все зависит от сложности системы, которая моделируется, ее масштабности и подверженности изменениям. Для простых проектов ООП не раскроет всю свою мощь, поэтому такие вопросы и возникают. А в больших проектах со сложной бизнес-логикой без него трудно обойтись.
-------------------- I don't need a reason being who I am... |
|||
|
||||
| webevt |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 5.5.2005 Репутация: нет Всего: 3 |
Имхо для больших проектов нужно писать мануалы и как можно больше ЦЕННЫХ комментариев. Это поможет не только другим разобраться в твоём коде, но и тебе самому через несколько месяцев, ибо рано или поздно ты забудешь, что ты имел ввиду когда писал ту или иную функцию\объект. Да, писать комментарии не очень хочется, но надо. Лень - страшный порок |
|||
|
||||
| krundetz |
|
||||||||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
+1
Он и возник как реакция на то что программы стали слишком трудны в разработке. И обойтись без него практически нереально. Люди которые так делают в конечном итоге моделируют объектную модель самостоятельно примеры Windows, GTK.
Как раз скорее всего этот код написан горе программистами которые понятие не имеют что такое ООП понимая под ним то что если ты все делаешь через классы то это уже ООП. Только вот ООП и наличие классов неравнозанчны. ООП как раз должна облегчит вам жизнь в понимание кода так как компоненты должны быть с максимально независимыми. А в этих системах как раз похоже все наоборот.
Эх везет вам не так давно менял работу с одной на другую и увидел код на ПХП из кучи файлов каждый из которых по 5000 - 10000 строк причем сделаный так что хер разбирешься. Куча функций повторяющих действия самих себя куча лишенего кода который выполняется но нигде не используется. Два класса типа внедрение ООП. Ноль коментариев. Вобщем с удовольствием бы предшествиникам руки оторвал. Боюсь что если такие люди будут использовать хоть ООП хоть функициональный подход будет только беда. Вывод. Главное не как и на чем, главное качественно. P.S. Но ООП изучай пригодиться. Это сообщение отредактировал(а) krundetz - 21.5.2008, 14:53 |
||||||||
|
|||||||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 2 Всего: 56 |
Не ври, лень - это двигатель прогресса. Именно самые ленивые программисты пишут подробные и ясные комментарии, а те, которым не лень десятки раз вникать в один и тот же кусок кода, не пишут комментариев... Вы сговорились что ли? Что за дурацкий совет. Пусть лучше Макконнелла почитает... Писать код нужно так, чтобы его было удобно читать, а не лишь бы работал. ООП вообще актуально для создания крупных сайтов, так что если область твоих интересов не ограничивается домашними страничками, то читай про MVC, вооружайся ООП, и тогда у тебя появится шанс написать сайт уровня портала с управлением содержимым... Добавлено через 4 минуты и 10 секунд +1. ООП - это образ мышления, а не синтаксическая возможность языка... Более того, есть прецеденты удачного использования ООП в языках программирования, которые синтаксически его даже не поддерживают в классическом понимании. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| bobik02 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 451 Регистрация: 26.11.2007 Репутация: 2 Всего: 14 |
Актуальная тема
Интересно было услышать ваши мнения З.Ы. Из жизни: У моего бати образ мышления не ООП, он старая гвардия, но пишет на структурно-функциональном очень сложные проекты - "звери" в одиночку (т.е. я имею виду что даже большие широкие проекты можно писать, да конечно возможно код на ООП в разы был бы лучше, но все таки его ПО работает отлично, конечному пользователю не интересно как построен код, на ОПП или вообще "лапша" ему главное быстродейсвия,функциоанльность и т.п. короче говоря результат ... ) Логика рулит ! -------------------- Have a nice day |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
вот-вот. ООП - это вообще много чего может пониматься. проектирование - когда система моделируется с учетом того, что в реальности все - объекты со своими свойствами и методами. реализовываться может вполне при помощи набора функций, но сами переменные будут ассоциативными(аналог полей объекта), а в функциях может проверяться адекватность принимаемых переменных(friend-функции). программирование - ну, это понятно. классы и объекты, new и this, и т.д.. Если проектировалось без ОО-подхода, то это будет практически набор функций, собранных в один класс бит знает по каким признакам. или же наоборот - получится отлично сделанный "черный ящик"(здравствуй, инкапсуляция!), для работы с которым надо будет инициализировать пару полей и использовать с пяток методов(сильные связи внутри и слабые внешние связи - как и надо). в любом случае, ОО может быть как внешним, так и "по сути". Все равно, главное - чтоб читалось понятно, чтоб работало без сбоев, и чтоб отладка не была мукой. И тогда будет все равно, вызывается ли $some->do() или do($some); ну, что за ....? человек высказал свое мнение, ты - свое... Это что, задача у которой только один истинный ответ, а остальные варианты - попытка обмануть? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
source777, зачем ты споришь? Я говорю о том, что писать, а ты - о том, что читать На самом деле, я просто хочу сказать, что ООП не "помогает писать админку". Это не инструмент, а образ мышления. Не всем, кстати, доступный. Писать на ООП ради ООП - получится лажа. А вот с тем, что надо читать - я полностью согласен. Об это же и писал: "Параллельно попробуй изучать ООП и пытаться понять". то есть, мы говорим об одном и том же. Я же просто добавляю, что резкий переход к ООП никаких преимуществ не даст. Это не волшебная палочка, которая сделает скрипты понятными удобными и производительными. Продумать объектную модель сайта - проблема даже для матерого профессионала. Вдумайтесь в это. А когда она появляется ,продуманная - объем её начинает исчисляться сотнями килобайт. "А теперь мы попробуем со всей этой фигней взлететь" (с) анекдот про стюардессу. Рассказывая о том, что ООП помогает лучше понимать написанное, вы все, как один, забываете, что при этом должно быть знание объектной модели. Знаешь фреймфорк, на котором сай1т построен - разберешься в потрохах. Не знаешь - только запутаешься. Да, за ООП будущее. Или настоящее. Вот только опять же - никто не принимает в расчет дискретный порядок выполнения пхп скриптов. windows, говорите? Была бы винда такой, как сейчас, если бы после каждого нажатия кнопки пользователем ей приходилось бы перезагружаться? А? |
|||
|
||||
| krundetz |
|
||||||||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
ИМХО. Для Java настояшее, а для PHP будушее. Есть такие компании которые нанимают программистов которые и функциональный подход плохо знают, а про ООП слышали только что там есть классы.
Ну лень тоже бывает разная есть такие люди которые даже если на них будет подать что нить тяжелое ни сойдут с места из-за лени. Вы описываете случай рационального человека которому жаль тратить время на лишнии итерации. А вообше полностью цитату приводите, дословно не помню своими словами вот: "Лень двигатель прогресса только вот прогресс двигают не лентяи а те кто использует их лень".
+1
Это почему? |
||||||||
|
|||||||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
образ мышления не помогает писать. Он помогает думать.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |