Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ООП - когда его стоит применять?
 
 автор: nautilus2812   (07.07.2013 в 16:25)   письмо автору
 
 

Стал изучать ООП, но чем больше его изучаю, тем больше авторы указывают на то, что создание объектов - это довольно большая нагрузка на сервер и что ООП стоит применять если это довольно большой проект и над ним работает целая команда, хочется услышать мнение специалистов о том , нужно ли применять ООП и в каких случаях, ведь в принципе , ели хорошо продумана структура проекта, то всё можно реализовать на процедурном программировании или это не так?

  Ответить  
 
 автор: psychomc   (07.07.2013 в 16:52)   письмо автору
 
   для: nautilus2812   (07.07.2013 в 16:25)
 

так. еще стоит применять, если с большой вероятностью функциональность проекта будет изменяться и расширяться. вот только то, что вы умеете писать классы и создавать объекты, еще не гарантирует того, что вы правильно используете возможности и принципы ООП

  Ответить  
 
 автор: nautilus2812   (07.07.2013 в 17:47)   письмо автору
 
   для: psychomc   (07.07.2013 в 16:52)
 

в том то вся и проблема, что непонятно правильно ли ты это используешь или нет и как нужно правильно использовать? почитаешь , почитаешь,одни пишут так, другие так, а потом думаешь "да нафиг всё это нужно,у меня и так на процедурном коде всё прекрасно работает" :-)

  Ответить  
 
 автор: psychomc   (08.07.2013 в 12:01)   письмо автору
 
   для: nautilus2812   (07.07.2013 в 17:47)
 

нужна практика, в частности нужно поработать с чужими классами. например попробуйте какой-нибудь популярный современный фреймворк, поковыряйтесь в его классах. посмотрите что в нём нравится, что нет. попробуйте написать какие-то свои классы, проанализируйте насколько они получаются гибкими, насколько удобно их расширять, насколько удобно пользоваться их объектами, хорошо ли продуманы их методы. начинайте с проектирования интерфейсов, только потом программируйте...
продолжать можно бесконечно, будет практика - всё придёт само собой

  Ответить  
 
 автор: cheops   (07.07.2013 в 18:08)   письмо автору
 
   для: nautilus2812   (07.07.2013 в 16:25)
 

Инструменты ООП применяется в том случае, когда вы строите ООП-систему (как это странно не звучало бы). Дело в том, что построить ООП систему можно без поддержки объектов и классов на уровне языка программирования. Яркий пример - это Windows 95, в объектно-ориентированном стиле, но на процедурном языке C. Хорошо продуманная программа на процедурном стиле - это хорошо и замечательно, когда вы создадите, вы на ООП можете посмотреть другими глазами, так как он позволяет многие вещи решать меньшей кровью. Однако, экономия проявляется именно в крупных проектов, когда у вас иерархия объектов (пользователи, страницы, формы, элементы управления) и держать их все в голове одновременно уже не получается. В этом случае ООП выручает. ООП - это организация крупной системы, состоящей из множества взаимодействующих объектов. Если вы не видите объектов в вашей системе, не можете их выделить, лучше ООП не использовать - получится плохо.

Кроме того, пользоваться ООП интерфейсом и создавать его - это две разные задачи, одновременно выполнять их сложно, даже имея опыт. На счет нагрузки на сервер - это как организуете, PHP как бы сам по себе не очень эффективен - он создан для быстрой разработке, а не для эффективного использования сервера. Компенсировать это можно разными способами, например кэшем (благо сейчас инструментов работающих полностью в оперативной памяти - пруд пруди).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования