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 :: Версия для печати :: Практическое применение ООП
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Практическое применение ООП

Страниц (2): [1] 2 »
 

1. freesky - 30 Августа, 2011 - 08:27:41 - перейти к сообщению
Добрый день. Начал изучать ООП, дошёл до паттернов. Вроде бы в теории всё понятно, НО не могу понять как применить его на практике, так сказать с чего начать.
Хотел бы написать свою небольшую админку.
Может кто поможет, хотя бы алгоритм или по шагам. И ещё интересует какие шаблоны проектирования чаще всего применяются и применительно к админке.
Если вопрос кажется глупым, уж не обессудьте....Я новичок Улыбка
Спасибо.
2. iflight - 30 Августа, 2011 - 08:43:53 - перейти к сообщению
Новичку от новичка ))
Применяя ООП, код выходит более организованным, логичным. Правильно построенный ООП код сильно уменьшает возможность ошибки и упрощает расширение.

В общем то самому интересно что скажут более опытные на этот счет.
3. freesky - 30 Августа, 2011 - 09:25:36 - перейти к сообщению
iflight пишет:
Правильно построенный ООП код сильно уменьшает возможность ошибки и упрощает расширение.


Это то всё понятно Улыбка....

Хотелось бы узнать с чего вообще начинать то? Вот есть задача: написать админку.....В процедурном подходе всё понятно.....а вот в в ООП да ещё и с применением шаблонов очень и очень интересно как всё делается...

Очень интересно было бы услышать мнение(совет) профессионалов
4. LIME - 30 Августа, 2011 - 09:54:06 - перейти к сообщению
freesky мнение недопрофи ))
патерны стоит изучать при плотном знании ООП только
огромная их часть вообще выеденого яйца не стоит
5. Мелкий - 30 Августа, 2011 - 10:00:17 - перейти к сообщению
freesky пишет:
И ещё интересует какие шаблоны проектирования чаще всего применяются и применительно к админке.

Для веба - MVC, без него никуда. Для базы данных часто singleton используется.

А как применять на практике - прочитайте сейчас теорию, потом, когда столкнётесь, поймёте.

singleton - это просто. Класс базы данных может понадобиться в разных местах, но зачем открывать соединение в каждом месте, где нужно что-то взять из базы? Вот этот паттерн и обеспечивает единый объект для всех вызовов.
6. freesky - 30 Августа, 2011 - 12:23:25 - перейти к сообщению
Singleton как я понял он используется для реализации соединения с бд, а вот до MVC пока ещё не добрался.....Но всё равно спасибо
7. filkeith - 30 Августа, 2011 - 18:28:29 - перейти к сообщению
флуд, сам вот потихоньку учу пехапе. Я бы тебе предложил, сначала написать несколько своих классов, самому что нибудь простенькое набрасать, понять принцип работы, а потом уже браться за патерны. И потом админку для сайтоблога да и вообще простую админку можно и без стороних паттернов написать.
8. LIME - 30 Августа, 2011 - 19:49:51 - перейти к сообщению
из википедии
Цитата:
Критика

Иногда шаблоны консервируют громоздкую и малоэффективную систему понятий, разработанную узкой группой. Когда количество шаблонов возрастает, превышая критическую сложность, исполнители начинают игнорировать шаблоны и всю систему, с ними связанную. Нередко шаблонами заменяется отсутствие или недостаточность документации в сложной программной среде.
Есть мнение, что слепое применение шаблонов из справочника, без осмысления причин и предпосылок выделения каждого отдельного шаблона, замедляет профессиональный рост программиста, так как подменяет творческую работу механической подстановкой шаблонов. Люди, придерживающиеся данного мнения, считают, что знакомиться со списками шаблонов необходимо тогда, когда программист «дорос» до них в профессиональном плане — и не раньше. Хороший критерий нужной степени профессионализма — выделение шаблонов самостоятельно, на основании собственного опыта. При этом, разумеется, знакомство с теорией, связанной с шаблонами, полезно на любом уровне профессионализма и направляет развитие программиста в правильную сторону. Сомнению подвергается только использование шаблонов «по справочнику».
9. White - 30 Августа, 2011 - 22:13:38 - перейти к сообщению
LIME пишет:
огромная их часть вообще выеденого яйца не стоит

просто круг задач в которых они применяются достаточно узкий. к тому же это не набор жёстких правил, а лишь логика (даже не алгоритм) построения структуры коды. взяв за основу любой паттерн можно достаточно далеко от него уйти
10. LIME - 30 Августа, 2011 - 23:35:40 - перейти к сообщению
White я смысле это как "посмотрите налево посмотрите направо переходите дорогу"
перейти дорогу можно и незная этого алгоритма
чтоб понять это надо знать что за дорога и немного подумать
логика поможет
есть несколько действительно интересных патернов и все
читать выше выдержку из вики
(Добавление)
хотя это голое мнение не подтвержденное опытом
11. White - 31 Августа, 2011 - 08:09:46 - перейти к сообщению

LIME пишет:
перейти дорогу можно и незная этого алгоритма

по данным WIKI в 2010 году в дтп погибло 26 567 человек. Они тоже так думали.

LIME пишет:
логика поможет

ну так никто вас и не заставляет "жестко" использовать паттерны. не зря вариантов их применения большое множество. это ведь и есть логика, но не ваша, а собранная по крупинкам из "коллективного разума". ведь собственной логикой можно достаточно долго строить структуру, чтобы потом прочитать что это один из простейших паттернов.
еще одно "за" паттерны - вашу логику не всегда смогут понять другие программисты, читающие ваш код. логику паттерна уже известного им понять будет проще.
есть конечно и минусы, согласен.
12. Mad_Alex - 20 Сентября, 2011 - 15:27:49 - перейти к сообщению
freesky пишет:
Может кто поможет, хотя бы алгоритм или по шагам. И ещё интересует какие шаблоны проектирования чаще всего применяются и применительно к админке.


Собственный уровень оценить трудно, но кое-чего умею.

Собственно ООП "заточено" под разработку множеством программеров.
Т.е. по сути это идея "кирпичей". Т.е. если ты ваяешь кусок проекта, то тебе в общем то нужно знать одно: какие классы существуют и какие в них есть методы. К примеру если есть класс user и в нем есть метод updateLastAcivity() то тебе все равно как он внутри реализован. Но в коде ты просто создаешь юзера и апдейтишь его время последней активности.
$user = new user($login);
$user->updateLastAcivity();
после этого где-то там в недрах сделалась запись что юзер посещал сайт тогда-то.
Ты взял чужой киприч, нажал на кирпиче кнопку и все сработало.

Что до "написать админку" то ответ прост - переписать весь проект на ООП и тогда тока ощутишь мощь объектов Улыбка
Делать классы которые используются только в некой админке смысла нет - ну разве что для эстетики. Улыбка
13. ninjitsu - 20 Сентября, 2011 - 23:34:18 - перейти к сообщению
Новичку от новичка. Зная принципы ООП ты можешь свободно расширять движки Drupal, 1c-bitrix... в общем что душе угодно. Берёшь список и описание заложенных в системе методов и применяешь их где тебе надо. Т.е. типа сложных компонентов... берёшь логику с разных методов и строишь тем самым компонент. Как-то так...
14. DlTA - 21 Сентября, 2011 - 00:35:42 - перейти к сообщению
freesky,
может тебе это поможет
вот пример проекта находящегося в разработке

главная страничка в которой все подключается
Спойлер (Отобразить)

класс работы с базой
Спойлер (Отобразить)

класс шаблонизатор
Спойлер (Отобразить)

и пример как это все работает вместе
Спойлер (Отобразить)

пример шаблона
Спойлер (Отобразить)


p.s. я не волшебник я только учусь, поэтому сильно не пинайте
15. caballero - 21 Сентября, 2011 - 00:36:48 - перейти к сообщению
Цитата:
принципы ООП ты можешь свободно расширять движки Drupal, 1c-bitrix... в общем что душе угодно.


Это ты сможешь делать если будешь знать эти движки после нескольких недель а то и месяцев ковыряния в коде и документации. Знание ООП тут поможет не больше чем знание синтаксиса и функций PHP.

Цитата:
Берёшь список и описание заложенных в системе методов и применяешь их где тебе надо


Ага. Особенно в Друпале и битриксе.

 

Powered by ExBB FM 1.0 RC1