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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Помогите понять смысл классов

Сообщения:  [1-10]   [11-16] 

 
 автор: psychomc   (07.01.2010 в 19:58)   письмо автору
 
   для: Boeing   (07.01.2010 в 19:23)
 

эту читал в электронном. неплохая, согласен..

сейчас ищу всё что в большей степени связано с ооп

  Ответить  
 
 автор: Boeing   (07.01.2010 в 19:23)   письмо автору
 
   для: psychomc   (07.01.2010 в 19:06)
 

В электронном, к сожалению, нет.

Но есть электрокнига Джорджа Шлосснейгла. РНР - Профессиональное программированиие. Она немного о другом, но, на мой взгляд, достойна внимания, поскольку сильно отличается от семейства книг, ака переписанныйМануал

  Ответить  
 
 автор: psychomc   (07.01.2010 в 19:06)   письмо автору
 
   для: Boeing   (07.01.2010 в 18:22)
 

может у вас есть эта книга в эл. виде?

  Ответить  
 
 автор: Boeing   (07.01.2010 в 18:22)   письмо автору
 
   для: kosta_in_net   (07.01.2010 в 07:17)
 

"...стоит иметь ввиду знаменитый девиз Perl: "Любую задачу можно решить несколькими способами". Это особенно верно для небольших сценариев, когда быстро получить рабочий код и запустить его важнее, чем создать структуру, которая сможет эффективно и безболезненно вырасти в большую систему (в мире экстремального программирования наспех разрабатываемые проекты такого рода называют пробнымии решениями)" (С) Мэтт Зандстра.

Тут было упоминание о его книге "РНР. Объекты, шаблоны и методики программирования" - щас чего то его не заметил, но +100500 к тому посту, ибо книга действительно на редкость прекрасна.

  Ответить  
 
 автор: Николай2357   (07.01.2010 в 15:03)   письмо автору
 
   для: ride   (07.01.2010 в 14:50)
 

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

  Ответить  
 
 автор: ride   (07.01.2010 в 14:50)   письмо автору
 
   для: kosta_in_net   (07.01.2010 в 13:30)
 

объект такого класса может быть делегатом другого класса. в таком случае преимущества будут видны сразу.

  Ответить  
 
 автор: Саня   (07.01.2010 в 14:36)   письмо автору
 
   для: kosta_in_net   (07.01.2010 в 13:30)
 

> Но я реально видел программы размером в 100 строк, использующих классы
Не в последнюю очередь благодаря авторам таких программ РНР называют языком быдлокодеров.

  Ответить  
 
 автор: Николай2357   (07.01.2010 в 13:49)   письмо автору
 
   для: Саня   (07.01.2010 в 13:11)
 

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

  Ответить  
 
 автор: kosta_in_net   (07.01.2010 в 13:30)   письмо автору
 
   для: Саня   (07.01.2010 в 13:11)
 

Наверное поэтому я пока и не въехал, зачем оно тут. Но я реально видел программы размером в 100 строк, использующих классы (размером в 98 строк, 2 другие строки программы были применением класса). И мне не давало покоя то, что я не мог понять гениальность данного кода. Переписывая его набором операторов, я сокращал код вдвое-втрое и пытался понять, в чем мой косяк, что я теряю, отказавшись от класса. Теперь мне становится интересным, какую цель приследовали люди, одевая в классы даже ОДНОРАЗОВЫЙ код. Похоже, это уже просто сила привычки...

  Ответить  
 
 автор: Саня   (07.01.2010 в 13:11)   письмо автору
 
   для: kosta_in_net   (07.01.2010 в 07:17)
 

Раньше программы писали без функций. Но со временем программы стали усложняться и повторяющегося кода стало очень много. Решили выделять код в функции. Функция — это blackbox, превращающий входные данные в выходные по определённым правилам.
С течением времени программы ещё более усложнились и процедурный подход стал неудобен. Появилась новая парадигма — ООП, где класс — форма для штамповки объектов со своими определёнными свойствами и поведением. Если рассматривать объект как хранилище функций, то да, ООП не имеет смысла. Не всякая задача решается средствами ООП (особенно задачи уровня "Hello world!", как в вашем примере). В РНР таких задач очень мало.

  Ответить  

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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