|
|
|
|
|
для: neadekvat
(27.10.2010 в 07:45)
| | мне кажется это один из самых хороших и дельных советов. спасибо.
Буквально вчера понял что стадию "говнокод" не миновать. ))
Вообщем чтобы научится нужно учится) Just do it ) | |
|
|
|
|
|
|
|
для: alph[p]a
(25.10.2010 в 16:09)
| | Лучший способ научиться правильно проектировать классы - писать их. Кэп, да? :)
Начните с простого, усложняйте задачу, старайтесь в голове держать теоретические знания о том, что можно сделать с применением ООП (т.е. возможности языка в этом направлении), используйте эти возможности, чтобы лучше понять как, зачем, почему они роботают.
Чем больше классов вы напишите, тем лучше будете понимать, как их писать.
И не слушайте, что "не надо говнокодить, изобретать велоспиеды" и т.д. - я не понимаю, как можно лишь прочитав теорию, в практике сразу все сделать симпотичненько и красивенько.
Постоянно расписывать структуру класса на бумажке? Да глупость - вы никогда не поймете, удобна ли эта структура, достаточен ли функционал, пока не начнете пользоваться им.
Хотя, конечно, вру, поймете - но лишь когда у вас будет достаточно практики и опыта, имхо. | |
|
|
|
|
|
|
|
для: root
(26.10.2010 в 18:54)
| | кстати вот еще про ООП на php. по сути, мне кажется то, что его называют убогим по сравнению с другими языками, это уже скорее стереотип начиная еще с php4. если вспомнить тот же C++, в отличии от php там есть это самое множественно наследование, виртуальный функции, конструктор копирования...и вроде бы всё из того что я могу припомнить...все остальное по-моему в php присутствует. | |
|
|
|
|
|
|
|
для: Николай2357
(26.10.2010 в 18:37)
| | А чем вас обычная область видимости объектов не устраивает? Разве обязательно обращаться по ссылке и вообще использовать полностью объектную модель? Если работать с классами через двойное двоеточие - область видимости заключается лишь в своевременном включении этих классов. И больше на это не заморачиваться. | |
|
|
|
|
|
|
|
для: psychomc
(26.10.2010 в 18:45)
| | Николай2357 привильно понял, что явление интерфейса в php особого толку не приносит, вот только из-за отсутствия общих знаний об интерфейсах и общие выводы он делает неправильные. C# и Java тоже не имеют множественного наследвания, отчего интерфейсы в них заплатками не становятся. | |
|
|
|
|
|
|
|
для: Николай2357
(26.10.2010 в 18:37)
| | >Толку от него в готовом к бою коде нет. А знать это заплатка, которой прикрыто отсутствие множественного наследования.
думаете у них возникли проблемы с реализацией множественного наследования в языке?
вот например
Как известно, язык Java не поддерживает множественное наследование реализаций (классов). Это объясняется тем, что такое наследование порождает некоторые проблемы. Чаще всего указываются неоднозначности, возникающие при так называемом «ромбовидном» наследовании, когда один класс “A” является наследником двух других классов “B” и ”C”, причем и тот и другой наследуют класс “D”.
http://www.javaportal.ru/java/articles/mnj.html | |
|
|
|
|
|
|
|
для: Eugene77
(26.10.2010 в 18:13)
| | Ну почти так. Только суть немного иная.
Вот представьте - Вы управляющий большого автомобилестроительного концерна. И решили организовать новый филиал.
В PHP нет множественного наследования, а значит нельзя сделать так, чтобы двигатели собирал один завод, кузова другой, а трансмиссию третий.
Каждый филиал обязан на своей территории построить эти цеха, иначе сборочный цех рискует остаться без колес.
Интерфейс отчасти решает эту проблему, не позволяя расслабиться и забыть построить какой то из цехов. Суть его в большей части - активный комментарий, который стоит с плеткой над разработчиком и указует что можно, а чего нельзя.
Толку от него в готовом к бою коде нет. А знать это заплатка, которой прикрыто отсутствие множественного наследования. | |
|
|
|
|
|
|
|
для: Николай2357
(25.10.2010 в 19:03)
| | >Ну тут не другие вообще то языки обычно обсуждаются.
>А в php - заплатка и есть.
Почему заплатка?
Разве не удобный инструмент?
Представьте, что вы руководите большой командой программистов.
Надо чтобы они работали каждый над своей частью проекта.
Вы пишите интерфейсы всех объектов, и раздаёте на их основе задания:
кто-то пишет объекты, кто-то их взаимодействие - работа кипит как только вы закончили с интерфейсами.
Без них бы всё буксовало, бы пытаясь сдвинуться в неопределённом направлении.
Разве не так? | |
|
|
|
|
|
|
|
для: Красная_шляпа
(25.10.2010 в 16:47)
| | наверное это куча разнообразного материала по наболевшему MVC ..я так понял не четкого определения как это огранизовывать поэтому я сталкиваюсь с тем что я хочу сделать универсальную панацею но не могу либо не умею. хочется сделать что-то очень удобное, но вот спроектировать не могу) | |
|
|
|
|
|
|
|
для: Николай2357
(25.10.2010 в 19:03)
| | >Ну тут не другие вообще то языки обычно обсуждаются.
Ну мы вообще то не в "PHP", а в "Разном" :) | |
|
|
|
|