Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

Framework - и class

Обсуждение темы Framework - и class в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Что в них более удобное, чем в функциях и произвольных конструкциях? Зачем городить свалку говна, что бы сделать выборку одного поля и вернуть ...


Ответ
 
Опции темы
Старый 27.03.2009, 13:04   #21
Что в них более удобное, чем в функциях и произвольных конструкциях? Зачем городить свалку говна, что бы сделать выборку одного поля и вернуть его? Когда можно прописать один запрос и while-ом получить.
 
Ответить с цитированием
Старый 27.03.2009, 13:04
Ссылки
Старый 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
Попробую обязательно )) Сейчас и правда говорю несколько необоснованно
 
Ответить с цитированием
Старый 27.03.2009, 17:51
Ответ


Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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


Текущее время: 21:25. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Тарифный план «Lite»
Место: 1000 Мб
Трафик: неограниченный
Панель управления
Заказать ТП «Lite»
Тарифный план «Normal»
Место: 2000 Мб
Трафик: неограниченный
Поддержка скриптов
Заказать ТП «Normal»
Тарифный план «Profy»
Место: 7000 Мб
Трафик: неограниченный
Поддержка скриптов
Заказать ТП «Profy»
Тарифный план «Места хватит!»
Место: 25 ГБ
Трафик: неограниченный
Поддержка SSI, ssh
Заказать ТП «Места хватит!»
Дизайнерский форум