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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Практическое применение ООП
Покинул форум
Сообщений всего: 3
Дата рег-ции: Авг. 2011 Откуда: Россия, г. Екатеринбург
Помог: 0 раз(а)
Добрый день. Начал изучать ООП, дошёл до паттернов. Вроде бы в теории всё понятно, НО не могу понять как применить его на практике, так сказать с чего начать.
Хотел бы написать свою небольшую админку.
Может кто поможет, хотя бы алгоритм или по шагам. И ещё интересует какие шаблоны проектирования чаще всего применяются и применительно к админке.
Если вопрос кажется глупым, уж не обессудьте....Я новичок
Спасибо.
iflight
Отправлено: 30 Августа, 2011 - 08:43:53
Гость
Покинул форум
Сообщений всего: 119
Дата рег-ции: Март 2011 Откуда: Россия, Сыктывкар
Помог: 2 раз(а)
Новичку от новичка ))
Применяя ООП, код выходит более организованным, логичным. Правильно построенный ООП код сильно уменьшает возможность ошибки и упрощает расширение.
В общем то самому интересно что скажут более опытные на этот счет.
freesky
Отправлено: 30 Августа, 2011 - 09:25:36
Новичок
Покинул форум
Сообщений всего: 3
Дата рег-ции: Авг. 2011 Откуда: Россия, г. Екатеринбург
Помог: 0 раз(а)
iflight пишет:
Правильно построенный ООП код сильно уменьшает возможность ошибки и упрощает расширение.
Это то всё понятно ....
Хотелось бы узнать с чего вообще начинать то? Вот есть задача: написать админку.....В процедурном подходе всё понятно.....а вот в в ООП да ещё и с применением шаблонов очень и очень интересно как всё делается...
Очень интересно было бы услышать мнение(совет) профессионалов
LIME
Отправлено: 30 Августа, 2011 - 09:54:06
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
freesky мнение недопрофи ))
патерны стоит изучать при плотном знании ООП только
огромная их часть вообще выеденого яйца не стоит
Мелкий
Отправлено: 30 Августа, 2011 - 10:00:17
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
freesky пишет:
И ещё интересует какие шаблоны проектирования чаще всего применяются и применительно к админке.
Для веба - MVC, без него никуда. Для базы данных часто singleton используется.
А как применять на практике - прочитайте сейчас теорию, потом, когда столкнётесь, поймёте.
singleton - это просто. Класс базы данных может понадобиться в разных местах, но зачем открывать соединение в каждом месте, где нужно что-то взять из базы? Вот этот паттерн и обеспечивает единый объект для всех вызовов.
----- PostgreSQL DBA
freesky
Отправлено: 30 Августа, 2011 - 12:23:25
Новичок
Покинул форум
Сообщений всего: 3
Дата рег-ции: Авг. 2011 Откуда: Россия, г. Екатеринбург
Помог: 0 раз(а)
Singleton как я понял он используется для реализации соединения с бд, а вот до MVC пока ещё не добрался.....Но всё равно спасибо
filkeith
Отправлено: 30 Августа, 2011 - 18:28:29
Гость
Покинул форум
Сообщений всего: 112
Дата рег-ции: Июль 2011
Помог: 2 раз(а)
флуд, сам вот потихоньку учу пехапе. Я бы тебе предложил, сначала написать несколько своих классов, самому что нибудь простенькое набрасать, понять принцип работы, а потом уже браться за патерны. И потом админку для сайтоблога да и вообще простую админку можно и без стороних паттернов написать.
LIME
Отправлено: 30 Августа, 2011 - 19:49:51
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
из википедии
Цитата:
Критика
Иногда шаблоны консервируют громоздкую и малоэффективную систему понятий, разработанную узкой группой. Когда количество шаблонов возрастает, превышая критическую сложность, исполнители начинают игнорировать шаблоны и всю систему, с ними связанную. Нередко шаблонами заменяется отсутствие или недостаточность документации в сложной программной среде.
Есть мнение, что слепое применение шаблонов из справочника, без осмысления причин и предпосылок выделения каждого отдельного шаблона, замедляет профессиональный рост программиста, так как подменяет творческую работу механической подстановкой шаблонов. Люди, придерживающиеся данного мнения, считают, что знакомиться со списками шаблонов необходимо тогда, когда программист «дорос» до них в профессиональном плане — и не раньше. Хороший критерий нужной степени профессионализма — выделение шаблонов самостоятельно, на основании собственного опыта. При этом, разумеется, знакомство с теорией, связанной с шаблонами, полезно на любом уровне профессионализма и направляет развитие программиста в правильную сторону. Сомнению подвергается только использование шаблонов «по справочнику».
White
Отправлено: 30 Августа, 2011 - 22:13:38
Частый посетитель
Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011 Откуда: Днепропетровск
Помог: 28 раз(а)
LIME пишет:
огромная их часть вообще выеденого яйца не стоит
просто круг задач в которых они применяются достаточно узкий. к тому же это не набор жёстких правил, а лишь логика (даже не алгоритм) построения структуры коды. взяв за основу любой паттерн можно достаточно далеко от него уйти
----- if(time()>1356048000) die();
LIME
Отправлено: 30 Августа, 2011 - 23:35:40
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
White я смысле это как "посмотрите налево посмотрите направо переходите дорогу"
перейти дорогу можно и незная этого алгоритма
чтоб понять это надо знать что за дорога и немного подумать
логика поможет
есть несколько действительно интересных патернов и все
читать выше выдержку из вики (Добавление)
хотя это голое мнение не подтвержденное опытом
White
Отправлено: 31 Августа, 2011 - 08:09:46
Частый посетитель
Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011 Откуда: Днепропетровск
Помог: 28 раз(а)
LIME пишет:
перейти дорогу можно и незная этого алгоритма
по данным WIKI в 2010 году в дтп погибло 26 567 человек. Они тоже так думали.
LIME пишет:
логика поможет
ну так никто вас и не заставляет "жестко" использовать паттерны. не зря вариантов их применения большое множество. это ведь и есть логика, но не ваша, а собранная по крупинкам из "коллективного разума". ведь собственной логикой можно достаточно долго строить структуру, чтобы потом прочитать что это один из простейших паттернов.
еще одно "за" паттерны - вашу логику не всегда смогут понять другие программисты, читающие ваш код. логику паттерна уже известного им понять будет проще.
есть конечно и минусы, согласен.
----- if(time()>1356048000) die();
Mad_Alex
Отправлено: 20 Сентября, 2011 - 15:27:49
Новичок
Покинул форум
Сообщений всего: 28
Дата рег-ции: Сент. 2011 Откуда: Moscow
Помог: 0 раз(а)
freesky пишет:
Может кто поможет, хотя бы алгоритм или по шагам. И ещё интересует какие шаблоны проектирования чаще всего применяются и применительно к админке.
Собственный уровень оценить трудно, но кое-чего умею.
Собственно ООП "заточено" под разработку множеством программеров.
Т.е. по сути это идея "кирпичей". Т.е. если ты ваяешь кусок проекта, то тебе в общем то нужно знать одно: какие классы существуют и какие в них есть методы. К примеру если есть класс user и в нем есть метод updateLastAcivity() то тебе все равно как он внутри реализован. Но в коде ты просто создаешь юзера и апдейтишь его время последней активности.
$user = new user($login);
$user->updateLastAcivity();
после этого где-то там в недрах сделалась запись что юзер посещал сайт тогда-то.
Ты взял чужой киприч, нажал на кирпиче кнопку и все сработало.
Что до "написать админку" то ответ прост - переписать весь проект на ООП и тогда тока ощутишь мощь объектов
Делать классы которые используются только в некой админке смысла нет - ну разве что для эстетики.
ninjitsu
Отправлено: 20 Сентября, 2011 - 23:34:18
Новичок
Покинул форум
Сообщений всего: 1
Дата рег-ции: Сент. 2011
Помог: 0 раз(а)
Новичку от новичка. Зная принципы ООП ты можешь свободно расширять движки Drupal, 1c-bitrix... в общем что душе угодно. Берёшь список и описание заложенных в системе методов и применяешь их где тебе надо. Т.е. типа сложных компонентов... берёшь логику с разных методов и строишь тем самым компонент. Как-то так...
DlTA
Отправлено: 21 Сентября, 2011 - 00:35:42
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
freesky,
может тебе это поможет
вот пример проекта находящегося в разработке
p.s. я не волшебник я только учусь, поэтому сильно не пинайте
caballero
Отправлено: 21 Сентября, 2011 - 00:36:48
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
принципы ООП ты можешь свободно расширять движки Drupal, 1c-bitrix... в общем что душе угодно.
Это ты сможешь делать если будешь знать эти движки после нескольких недель а то и месяцев ковыряния в коде и документации. Знание ООП тут поможет не больше чем знание синтаксиса и функций PHP.
Цитата:
Берёшь список и описание заложенных в системе методов и применяешь их где тебе надо
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.