Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: проектирование классов ООП
Форумы портала PHP.SU » Разное » Обсуждение статей » проектирование классов ООП

Страниц (1): [1]
 

1. DlTA - 24 Октября, 2011 - 21:08:58 - перейти к сообщению
кажись наконец дорос до того уровня когда стали возникать вопросы о корректности выбранной структуре и методе реализации

так вот хотелось бы увидеть мастер класс по вопросу проектирования классов в ООП

только прошу не ссылаться "с опытом придет" и т.д.

так же интересный вопрос как удается держать в памяти/использовать методы больших классов?
2. Мелкий - 24 Октября, 2011 - 21:22:27 - перейти к сообщению
Признанные шедевры:
С. Макконнелл Совершенный код.
Приемы объектно-ориентированного проектирования - Э. Гамма
3. caballero - 24 Октября, 2011 - 21:29:14 - перейти к сообщению
Цитата:
только прошу не ссылаться "с опытом придет" и т.д.

А других вариантов нет.

Цитата:
так же интересный вопрос как удается держать в памяти/использовать методы больших классов

В какой памяти? Если вы о своей то грамотный девелопер коментирует код.
4. DlTA - 24 Октября, 2011 - 21:40:21 - перейти к сообщению
caballero пишет:
Если вы о своей то грамотный девелопер коментирует код.

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

я всегда считал что коменты прежде всего, чтоб можно было быстро разобраться в том что написано.
5. caballero - 24 Октября, 2011 - 21:52:15 - перейти к сообщению
Цитата:
а потом при каждой необходимости залазит в исходники в поисках названия метода для конкретных целей


Не в исходники а в документацию которая генерится по исходникам (например при помощи PHPDocumentor) или пишется вручную,
Надеюсь обратили внимание что для изучения описания функций PHP не надо лезть в исходники PHP.
6. DlTA - 24 Октября, 2011 - 22:01:13 - перейти к сообщению
посему на вопрос
DlTA пишет:
как удается держать в памяти/использовать методы больших классов

ваш ответ:
caballero пишет:
... документацию ...


ответ ясен
и несмотря на то что он вроде и на поверхности, все же не хватало того чтоб он был "озвучен", спасибо


Мелкий пишет:
Признанные шедевры:
С. Макконнелл Совершенный код.

скачал листаю, но может кто нить еще и своими шишками поделится?!
7. Stierus - 25 Октября, 2011 - 09:39:58 - перейти к сообщению
Цитата:

так вот хотелось бы увидеть мастер класс по вопросу проектирования классов в ООП
Я бы для начала посоветовал почитать "Философия Java". пусть это книга по другому языку, там очень много написано про ООП

Цитата:
так же интересный вопрос как удается держать в памяти/использовать методы больших классов
Мне кажется, сложно не понять, что делает метод GetUserNameById($id) (например) или SetTotalPrice в классе Cart. Если вы пользуетесь нормальной ide- то у вас будет автодополнение кода, если вы свои классы снабжаете phpDoc, а так же всплывающие подсказки по каждому методу класса.

Что я хотел сказать? - нормально именуйте свои классы и методы, снабжайте phpDoc и все будет понятно.
8. EuGen - 26 Октября, 2011 - 13:15:09 - перейти к сообщению
Сообщения о редакторах перемещены в соответствующую тему
9. sKaa - 30 Января, 2012 - 12:47:49 - перейти к сообщению
DlTA пишет:
скачал листаю
я тоже скачал. Буду читать.
10. Самогонщик - 30 Января, 2012 - 13:17:24 - перейти к сообщению
DlTA пишет:
я всегда считал что коменты прежде всего, чтоб можно было быстро разобраться в том что написано.
Если брать шире, то комменты нужны в первую очередь для того, чтобы понять "что оно делает", а уже во вторую "как".

Ибо есть код, абсолютна ясна и прозрачна его реализация, но совсем не понятно, то ли хотел сказать автор или просто ошибся? Особенно, если код живёт долго, и над ним работают разные люди.


А по поводу ООП, даже не знаю что посоветовать... Я с плюсов начинал, там это было частью эволюционного развития....

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

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

DlTA пишет:
ак вот хотелось бы увидеть мастер класс по вопросу проектирования классов в ООП
Сферически проектировать? или тему какую задашь? Можно на примере нашей онлайн игры попробовать.
11. DlTA - 30 Января, 2012 - 13:38:24 - перейти к сообщению
Самогонщик, теме сто лет в обед.
12. Самогонщик - 30 Января, 2012 - 13:53:43 - перейти к сообщению
Пришла на рсс, а дальше я не виноват.

 

Powered by ExBB FM 1.0 RC1