[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нужна практика по ООП задачам.
denisOg
Сейчас изучаю ООП в пхп. Вот по этим книгам:
Гутманс PHP5 Профессиональное программирование
PHP5 для профессионалов Эд Леки-Томпсон
Но там мало практики. Задач для самостоятельного решения с проверкой. Практических задач, для каждой главы.

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




Спустя 40 минут, 56 секунд (25.09.2011 - 21:26) Winston написал(а):
Да тебе, что задач мало ?
Напиши пагинатор/гостевую книгу/ситему регистрации с использованием ООП, неужели так трудно найти себе задачу ?

Спустя 1 час, 21 минута, 14 секунд (25.09.2011 - 22:47) caballero написал(а):
это не учебники для школ
тебе дали теорию - бери и применяй на практике
хочешь примеров - большинство современных фреймворков

на самом деле если ты не знаешь где применять классы - значит в твое практике они просто не нужны пока

а вообще изучать ООП нужно не в PHP и других нетипизированых скриптовых языках а в C#, Java, C++.




Спустя 2 часа, 6 минут, 43 секунды (26.09.2011 - 00:54) neadekvat написал(а):
Цитата (caballero @ 25.09.2011 - 23:47)
на самом деле если ты не знаешь где применять классы - значит в твое практике они просто не нужны пока

Не согласен.
Например, площадь параллелограмма можно найти через уравнение Герона (7-9 класс школы), а можно с помощью определителей (вышмат). Второе частенько намного проще и быстрее.
Но человек, если он только знакомится с определителями, быстрее сделает с помощью Герона.
Аналогия ясна?

Спустя 31 минута, 49 секунд (26.09.2011 - 01:25) Игорь_Vasinsky написал(а):
мне другое ясно стало - ты видимо батаник biggrin.gif

Спустя 11 минут, 23 секунды (26.09.2011 - 01:37) caballero написал(а):
Цитата
Но человек, если он только знакомится с определителями, быстрее сделает с помощью Герона.
Аналогия ясна?


А то!
Но при одно условии если он не просто знакомится а и ПОНИМАЕТ.
ООП это не синтаксис языка и не формула и не програмерские понты.
Это парадигма. Человек должен уметь мыслить объектами. И не просто мыслить а и понимать что тут объекты действительно быстрое решение а тут они нафиг не нужны. Не потому что их нельзя сделать (компилятору чихать шо вы там написали) а потому что они тут ни к селу ни к городу.




Спустя 6 часов, 51 минута, 17 секунд (26.09.2011 - 08:28) neadekvat написал(а):
caballero, верно. И именно это нарабатывается учебными задачами. Как и в математике, физике и других областях: решите с помощью определителей. И ему приходится так делать. А потом заставь его решить подобную задачу с помощью Герона - ага, щас.
Как человек может мыслить объектами, если он знаком только с их формальным описанием и примерами работ?

Цитата (Игорь_Vasinsky @ 26.09.2011 - 02:25)
мне другое ясно стало - ты видимо батаник

Я чтоль?

Спустя 1 час, 42 минуты, 38 секунд (26.09.2011 - 10:11) caballero написал(а):
Цитата
Как человек может мыслить объектами, если он знаком только с их формальным описанием и примерами работ?


Программирование, если не брать обычных рутинный кодинг из которого впрочем и состоит большинство работы программера, это определенного вида искуство как архитектура, например. У человека должны быть способности к этому. Мыслить объектами научить нельзя.
Ли бо есть это у человека либо нет. Любой может выучить ноты и научится играть на скрипке. Но не любой станет музыкантом.
Решать задачи с помощью тех или иных методов можно и компьютер научить. А проектировать архитектуру - научить не получится.
Я например несмотря на многолетний опыт программирования на нескольких языках так и не смог осилить Perl на приличном уровне (а то что наворачивают опытные перловики даже разобрать не могу), а от яваскриптовых замыканий мозги выворачивает.
Каждому свое.

Новичку кажется что если он выучит ООП или того круче MVC и остальные паттерны то сразу станет крутым программером.
Нужно просто практиковатся и желательно в команде которая занимается реальными проектами (пусть даже младшим кодировщиком) а не придумывать отфонарные задачи. А дальше все само разложитя по полочкам.


Спустя 7 часов, 29 минут, 17 секунд (26.09.2011 - 17:40) neadekvat написал(а):
Цитата (caballero @ 26.09.2011 - 11:11)
Мыслить объектами научить нельзя.

С таким же успехом можно сказать, что программирование - это призвание и программировать научиться нельзя.
Мыслить объектами - это ненормально! Если только ты не программу пишешь. Надо показать человеку, где и как это нужно делать. Тогда он уже сможет сделать вывод, для него это или не для него. Бросать человека в реку посреди водоема, чтобы он научился плавать - бред. Все должно быть последовательно.

Цитата (caballero @ 26.09.2011 - 11:11)
Нужно просто практиковатся и желательно в команде которая занимается реальными проектами (пусть даже младшим кодировщиком) а не придумывать отфонарные задачи.

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

Спустя 3 минуты, 12 секунд (26.09.2011 - 17:43) Игорь_Vasinsky написал(а):
neadekvat
ну.
Цитата
Например, площадь параллелограмма можно найти через уравнение Герона (7-9 класс школы), а можно с помощью определителей (вышмат). Второе частенько намного проще и быстрее.


Напомни книгу Фридла по regexp, раз уж встретились

Спустя 13 минут, 22 секунды (26.09.2011 - 17:57) alex12060 написал(а):
Ой, где-то я видел видел видел...
Попробуй ту же задачу решить на ООП, про с которой началось обсуждение неадеквата с кабалеро.
И вообще, странно, что ты задаешься таким вопросом, прочитав эти книги. Там должно быть отлично описано куда, где и как должно быть применимо ООП.

Спустя 30 минут, 46 секунд (26.09.2011 - 18:27) caballero написал(а):
Цитата
С таким же успехом можно сказать, что программирование - это призвание и программировать научиться нельзя.

если в смысле работать кодировщиком то можно


Цитата
. Бросать человека в реку посреди водоема, чтобы он научился плавать - бред


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


Цитата
Или, в твоем понимании учебная задача - это исключительно сферический конь в вакууме? Ничего подобного. Многие задачи намного сложнее тех, с которыми приходится регулярно сталкиваться в практике.


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




Спустя 1 час, 40 минут, 3 секунды (26.09.2011 - 20:07) denisOg написал(а):
Цитата (Winston @ 25.09.2011 - 18:26)
Да тебе, что задач мало ?
Напиши пагинатор/гостевую книгу/ситему регистрации с использованием ООП, неужели так трудно найти себе задачу ?

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

Спустя 5 минут, 21 секунда (26.09.2011 - 20:13) denisOg написал(а):
Цитата (caballero @ 25.09.2011 - 19:47)
это не учебники для школ
тебе дали теорию - бери и применяй на практике
хочешь примеров - большинство современных фреймворков

на самом деле если ты не знаешь где применять классы - значит в твое практике они просто не нужны пока

а вообще изучать ООП нужно не в PHP и других нетипизированых скриптовых языках а в C#, Java, C++.

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

Спустя 2 минуты (26.09.2011 - 20:15) neadekvat написал(а):
Цитата (Игорь_Vasinsky @ 26.09.2011 - 18:43)
Напомни книгу Фридла по regexp

Ты серьезно?

Цитата (caballero @ 26.09.2011 - 19:27)
Судя по тому что новички после прочтения книг по ООП идут в форум с вопросом зачем абстрактный класс или зачем нужны интерфейсы
учебные задачи редко соответствуют практике.

Нет. Это значит, что человек per rectum читал книгу. К задачам это отношения не имеет.

Цитата (denisOg @ 26.09.2011 - 21:07)
Нужно ,что бы был готовый ответ. Или кто то проверил мое решение и указал, на ошибки.

Решаешь задачу, выкладываешь на форум ее условие и свое решение, просишь проверить.
Лишь бы там не стопиццот строк было - люди ленивы ж.

Спустя 6 минут, 54 секунды (26.09.2011 - 20:22) denisOg написал(а):
Цитата (caballero @ 25.09.2011 - 22:37)
   ООП это не  синтаксис  языка  и  не  формула  и  не  програмерские  понты.
   Это  парадигма.  Человек  должен  уметь  мыслить объектами.   И не  просто  мыслить  а  и  понимать  что  тут  объекты  действительно  быстрое  решение  а  тут  они  нафиг не  нужны.  Не потому  что  их  нельзя  сделать  (компилятору  чихать шо  вы  там написали)   а  потому  что они  тут ни  к  селу  ни  к  городу.

Тут я согласен и сразу вопрос. Студенческий вопрос wink.gif

В институте мы изучаем ООП, есть такой предмет UML и системный анализ.
Там мы делаем проекта, разбивая его на классы, пишем диаграммы разные.
Что бы освоить ООП для PHP нужно:
1. Понять парадигму ООП. Начать "мыслить объектно". Как удобнее разбивать на классы. Здесь без разницы на каком языке ты будешь делать проект. Это можно и с преподом позаниматься. Да и задач там в лабах много.
2. Выучить синтаксис PHP для ООП. Это я уже почти освоил. Но не практиковал.
3. Практиковать, практиковать, практиковать писать скрипты с классами на PHP и получать замечания по написанному коду.
Я верно все понял?
wink.gif



Спустя 5 минут, 33 секунды denisOg написал(а):
Цитата (caballero @ 26.09.2011 - 07:11)
  Ли бо  есть  это  у человека  либо нет.  Любой может  выучить  ноты  и  научится  играть на  скрипке.  Но  не  любой  станет  музыкантом.

Не согласен.
Я закончил муз. школу. Играю на баяне)))) Не скажу, что я музыкант от Бога. Но я музыкант. Музыкант. Википедия



Спустя 1 минута, 42 секунды denisOg написал(а):
Цитата (caballero @ 26.09.2011 - 07:11)
Новичку  кажется  что  если  он  выучит  ООП или  того круче  MVC и остальные  паттерны то  сразу  станет  крутым  программером.   
   Нужно  просто  практиковатся и  желательно  в  команде  которая занимается   реальными  проектами (пусть  даже  младшим  кодировщиком) а  не  придумывать  отфонарные  задачи.   А  дальше  все само  разложитя  по  полочкам.

Вот я и хочу практиковать и устроится в команду. tongue.gif



Спустя 7 минут, 19 секунд denisOg написал(а):
Цитата (alex12060 @ 26.09.2011 - 14:57)
Ой, где-то я видел видел видел...
Попробуй ту же задачу решить на ООП, про с которой началось обсуждение неадеквата с кабалеро.
И вообще, странно, что ты задаешься таким вопросом, прочитав эти книги. Там должно быть отлично описано куда, где и как должно быть применимо ООП.

Задачу про площадь треугольника?
Я не прочитал книги, я начал читать. Дошел до Шаблонов проектирования и "стало тяжело понимать". Вот и понял что практики мало.
В книгах описанны приемущества ООП разработки, которые мне понравились wink.gif


 ! 

М
Не надо плодить столько сообщений подряд! Используйте кнопку "редактировать сообщение" !
Winston

Спустя 1 час, 56 минут, 48 секунд (26.09.2011 - 22:18) caballero написал(а):
Цитата
Я верно все понял?

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

Очень важно делать реальную системму (сайт в данном случае)
и путем набивания шишек понять в чем преимущество ООП (если оно в данном проекте востребовано конешно)


_____________
ICQ 444699163
del-denis@rambler.ru
Skype denisOg1
Нужен сайт знакомств, за деньги!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.