|
Framework - и classОбсуждение темы Framework - и class в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Что в них более удобное, чем в функциях и произвольных конструкциях? Зачем городить свалку говна, что бы сделать выборку одного поля и вернуть ... |
|
Опции темы |
27.03.2009, 13:04 | #21 |
|
Что в них более удобное, чем в функциях и произвольных конструкциях? Зачем городить свалку говна, что бы сделать выборку одного поля и вернуть его? Когда можно прописать один запрос и while-ом получить.
|
|
27.03.2009, 13:31 | #22 |
|
Опять же, приведу пример на играх (просто в играх объекты более наглядны, т.к. визуальны). В игре у нас есть: мир, зона, монстры, главный герой. Монстры бывают еще и разные. У монстров и главного героя есть какие-то характеристики и умения. Получается такая цепочка: существо->ГГ, существо->монстр, морстр->вид1, монстр->вид2. Теперь предположим, что у существа есть характеристики сила и здоровье. У ГГ и разных видов монстров эти характеристики отличаются.
Проблема заключается в том, что у нас получается очень много РАЗНЫХ сущностей, обладающих РАЗНЫМИ свойствами. Из-за этого структурный код очень сильно раздувается, и, в конце концов, стоновится неудобоваримым. ООП код, наоборот, позволяет в достаточной мере сократить код, задать ему строгую логичную структуру. Согласись, воспринимать монстра как объект, со своими свойствами и методами, гораздо проще, чем как обстрактный набор функций. Попытался объяснить как мог -_- |
|
27.03.2009, 13:51 | #23 |
|
Ну это естественная модель данных. И применима к логике в том числе - у любой позиции каталога, например, может быть несколько атрибутов, и все они будут разные. Но позиции - суть одно и тоже, только с разными картинками и названием.
Вообщем, тут ясно ) Просто я не пойму — чем на практике в вебе это выгоднее? У тебя нет конкретного примера в запасниках? С удовольствием бы посмотрел )) |
|
27.03.2009, 15:18 | #24 |
|
Ну, совсем конкретных примеров нет.
Представь, что ты пишешь интернет-магазин: Какие тут могут быть классы? Первое, что приходит на ум - это user и article. Юзера можно добавлять, удалять, редактировать, авторизовать, активировать, добавить в карзину, удалить из корзины. У него могут быть свойства: ФИО, баланс, почта, корзина. Товар так же можно добавлять, удалять, выставлять, редактировать, вычислять рейтинг, выводить в браузер. Его свойства: изображение, цена, характеристики, рейтинг, описание, HTML-код. Когда начинаешь вот так анализировать поставленную задачу, уже структурный код становится представить сложнее, потому что в мозгу обрисовывается объектная модель. |
|
27.03.2009, 15:44 | #25 |
|
Если брать в качестве примера MVC, то каждый контроллер и модель представляют собой отдельные классы. Просто потому что в разных контроллерах и моделях разные методы.
Если бы был просто набор функций, связать все функции, касающиеся работы с пользователями сложнее, чем когда у тебя есть один класс, в котором есть всё, для работы с пользователями. |
|
27.03.2009, 15:45 | #26 |
|
Ну да, верно. И в структуру базы закладывается так же объектная модель. А потом просто это описывается процедурными методами.
Я просто не могу уловить сути. У меня есть очень сильное ощущение, что программисты используют ООП ради ООП. Это как креатив ради креатива. Типа — я охуени! Я юзаю ООП! Прибавку к зарплате мне в 30К, будьте добры! Задача в виде облегчения восприятия программы, легкой донастройки и т.д. - на малых проектах ее можно не учитывать в принципе. Тем более, что дописать какой-то процедурный обработчик и вставить в нужное место — проблем не составляет. |
|
27.03.2009, 15:50 | #27 |
|
У меня иногда тоже такое впечатление создается) Но раз продвинутые программисты говорят, что ООП - это круто, значит надо учить ООП)
А для маленьких проектов да, иногда ООП может быть даже вреден. |
|
27.03.2009, 15:53 | #28 |
|
deMone, что мне мешает создать «виртуальный класс» функций, которые будут храниться каждый отдельно для удобства работы с ними? И эти функции, объединенные моим сознанием (то бишь у меня в голове) будут, по-сути, выполнять ту же роль, что и класс в ООП, только всё значительно проще.
Я просто не вижу реальных преимуществ ООП перед процедуркой. И я на самом деле насмотрелся на повернутых на ООП прогеров, которые валили полностью серьезных клиентов из-за того, что сами загоняли себя в угол с этим ООП. В итоге факап на несколько недель!!! и, есессно, эпик фейл. Это как копать бульдозером маленькую канавку. Заебешься в срань. Но ведь лопатой не престижно — платят меньше! Добавлено через 1 минуту Scroll, для меня «гуру» давно закончились, когда я понял — КАК работают люди. Последний раз редактировалось Nielson; 27.03.2009 в 15:53.. Причина: Добавлено сообщение |
|
27.03.2009, 17:26 | #29 |
|
Nielson, ничего не мешает. Только если твой проект возьмётся дорабатывать другой программист — нихуя он не увидит твоего виртуального класса. И будет трахаться с твоим кодом дольше, чем нужно.
А как ты их увидишь, если ты не пробуешь? Попробуй что-нибудь сделать в том же CakePHP. И никакого престижа тут нет — это реально удобно. |
|
27.03.2009, 17:51 | #30 |
|
Попробую обязательно )) Сейчас и правда говорю несколько необоснованно
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
abstract class Object | php5user | ASP, Perl, PHP и MySQL | 8 | 01.09.2009 09:55 |
CodeIgniter Framework вопрос | Taral | ASP, Perl, PHP и MySQL | 2 | 25.02.2008 00:45 |
class=tabs | Intery | HTML, CSS, JavaScript | 3 | 12.07.2005 09:19 |
Есть ли class для onMouseOver... | bond | HTML, CSS, JavaScript | 4 | 02.10.2003 16:03 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|