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

Разное

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

 

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

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

тема: ООП. Как перестроить мозги на объекты

Сообщения:  [1-10]    [11-20]   [21-30]  [31-31] 

 
 автор: Alph[p]a   (27.10.2010 в 08:03)   письмо автору
 
   для: neadekvat   (27.10.2010 в 07:45)
 

мне кажется это один из самых хороших и дельных советов. спасибо.
Буквально вчера понял что стадию "говнокод" не миновать. ))
Вообщем чтобы научится нужно учится) Just do it )

  Ответить  
 
 автор: neadekvat   (27.10.2010 в 07:45)   письмо автору
 
   для: alph[p]a   (25.10.2010 в 16:09)
 

Лучший способ научиться правильно проектировать классы - писать их. Кэп, да? :)

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

Чем больше классов вы напишите, тем лучше будете понимать, как их писать.

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

Постоянно расписывать структуру класса на бумажке? Да глупость - вы никогда не поймете, удобна ли эта структура, достаточен ли функционал, пока не начнете пользоваться им.

Хотя, конечно, вру, поймете - но лишь когда у вас будет достаточно практики и опыта, имхо.

  Ответить  
 
 автор: psychomc   (26.10.2010 в 23:15)   письмо автору
 
   для: root   (26.10.2010 в 18:54)
 

кстати вот еще про ООП на php. по сути, мне кажется то, что его называют убогим по сравнению с другими языками, это уже скорее стереотип начиная еще с php4. если вспомнить тот же C++, в отличии от php там есть это самое множественно наследование, виртуальный функции, конструктор копирования...и вроде бы всё из того что я могу припомнить...все остальное по-моему в php присутствует.

  Ответить  
 
 автор: Рома   (26.10.2010 в 19:20)   письмо автору
 
   для: Николай2357   (26.10.2010 в 18:37)
 

А чем вас обычная область видимости объектов не устраивает? Разве обязательно обращаться по ссылке и вообще использовать полностью объектную модель? Если работать с классами через двойное двоеточие - область видимости заключается лишь в своевременном включении этих классов. И больше на это не заморачиваться.

  Ответить  
 
 автор: root   (26.10.2010 в 18:54)   письмо автору
 
   для: psychomc   (26.10.2010 в 18:45)
 

Николай2357 привильно понял, что явление интерфейса в php особого толку не приносит, вот только из-за отсутствия общих знаний об интерфейсах и общие выводы он делает неправильные. C# и Java тоже не имеют множественного наследвания, отчего интерфейсы в них заплатками не становятся.

  Ответить  
 
 автор: psychomc   (26.10.2010 в 18:45)   письмо автору
 
   для: Николай2357   (26.10.2010 в 18:37)
 

>Толку от него в готовом к бою коде нет. А знать это заплатка, которой прикрыто отсутствие множественного наследования.

думаете у них возникли проблемы с реализацией множественного наследования в языке?

вот например

Как известно, язык Java не поддерживает множественное наследование реализаций (классов). Это объясняется тем, что такое наследование порождает некоторые проблемы. Чаще всего указываются неоднозначности, возникающие при так называемом «ромбовидном» наследовании, когда один класс “A” является наследником двух других классов “B” и ”C”, причем и тот и другой наследуют класс “D”.


http://www.javaportal.ru/java/articles/mnj.html

  Ответить  
 
 автор: Николай2357   (26.10.2010 в 18:37)   письмо автору
 
   для: Eugene77   (26.10.2010 в 18:13)
 

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

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

Толку от него в готовом к бою коде нет. А знать это заплатка, которой прикрыто отсутствие множественного наследования.

  Ответить  
 
 автор: Eugene77   (26.10.2010 в 18:13)   письмо автору
 
   для: Николай2357   (25.10.2010 в 19:03)
 

>Ну тут не другие вообще то языки обычно обсуждаются.
>А в php - заплатка и есть.


Почему заплатка?
Разве не удобный инструмент?

Представьте, что вы руководите большой командой программистов.
Надо чтобы они работали каждый над своей частью проекта.

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

Без них бы всё буксовало, бы пытаясь сдвинуться в неопределённом направлении.
Разве не так?

  Ответить  
 
 автор: Alph[p]a   (25.10.2010 в 19:07)   письмо автору
 
   для: Красная_шляпа   (25.10.2010 в 16:47)
 

наверное это куча разнообразного материала по наболевшему MVC ..я так понял не четкого определения как это огранизовывать поэтому я сталкиваюсь с тем что я хочу сделать универсальную панацею но не могу либо не умею. хочется сделать что-то очень удобное, но вот спроектировать не могу)

  Ответить  
 
 автор: root   (25.10.2010 в 19:06)   письмо автору
 
   для: Николай2357   (25.10.2010 в 19:03)
 

>Ну тут не другие вообще то языки обычно обсуждаются.

Ну мы вообще то не в "PHP", а в "Разном" :)

  Ответить  

Сообщения:  [1-10]    [11-20]   [21-30]  [31-31] 

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

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