25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
|
|
1 | |
Совет17.08.2013, 00:29. Показов 1032. Ответов 3
Метки нет (Все метки)
Доброго времени суток. Посоветуйте хороший материал на тему Объектно Ориентированного Программирования. Статьи, книги, видеоуроки и прочее. Буду благодарен!
0
|
17.08.2013, 00:29 | |
Ответы с готовыми решениями:
3
нужен совет Нужен технический совет Обработка формы, совет Нужен Теоретический совет |
17.08.2013, 01:28 | 2 |
вы с таким уважением относитесь к этому термину, все с большой буквы... тогда
посмотрите функциональное и логическое, сначала. В ооп вникать дольше, а когда привыкните, уже сложно будет думать как-то по другому. В то же время недостаточно хорошо формализованная система.
ПС. по теме -- книга Гамма, Хельм и др., нагуглите по запросу "банда четырех книга ооп скачать" потом Мартин "Совершенный код", Фаулер "Экстремальное программирование" и др.
0
|
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
|
|
18.08.2013, 22:31 [ТС] | 3 |
Простите, что очень долго отвечал) Так вот, увидев предисловие книги Гамма я немного опешил. Мне бы что-нибудь, от чего можно оттолкнуться, начать изучение Объектно Ориентированного Программирования. Есть ли что-то вроде этого?
P.S. Надо уважать то, что пытаешься изучить)
0
|
18.08.2013, 23:22 | 4 |
Книга "банды четырех" читается довольно легко, имхо... Рассматривают на примерах... Все не обязательно сразу, достаточно первой части, там где разработку редактора рассматривают там весьма прикольно, и подробно объясняется.
Ну если совсем ничего не понятно, то посмотрите что-то по синтаксису классов в Си++, вначале. Просто чтоб "въехать", что делает new, delete, как классы описывать. Что такое абстрактные классы, виртуальные методы, наследование, инкапсуляция -- это есть в любом справочнике по си++. Говорю про Си++ потому что по пхп книги хорошие даже если и есть, то я о них не знаю. А с плюсов до пхп один шаг, и тем более уж обобщенные концепции ООП, они применимы и в джаве, и в питоне, и в других языках. Си++ очень похож на php, проще всего перейти с него, да и язык более продуман концептуально и более логичен в общем плане (начав изучение с пхп, вы обрекаете себя на заучивание сразу множества его, так сказать, "особенностей", исключений из правил, а не на самом алгоритме программы). Перенести плюсовую модель на пхп гораздо проще. Да и вообще, тяжело в учении -- легко в бою. В конце концов, не хотите плюсы, возьмите делфи, он тоже неплох, и в нем все это есть. В любом случае, базой являются понятия: инкапсуляция, полиморфизм, наследование, позднее связывание, интерфейсы. Множественное наследование (особенность си++), published-свойства (delphi), и прочее -- это особенности конкретных языков, на них можно не обращать внимания. Ну и вообще, если что-то непонятно... Читайте Гамму, и постепенно разбирайтесь, ищите понятия в справочнике. Чтобы понимать смысл предложений А на пхп многие паттенры теряют свой смысл, и ведут только лишь к потере производительности. Из-за того, что язык динамический, до сих пор отсутствует нормальный jit-компилятор, с производительностью у него и так туго, так тут еще и это ООП. Имхо, метапрограммирование, которое при желании можно реализовать самостоятельно, даст чуть ли не большую гибкость, и в то же время практически без потерь производительности. А при наличии знаний из книги дракона, и умению находить сведения по языковой оптимизации, вероятно получится даже ускорить, заинлайнить часть функций. Ведь помните, что если вы описываете объекты в си++ -- это да, это яблоко, это апельсин, яблоко живет, его можно подвинуть, можно положить в холодильник. Холодильник тоже описан. и имеет ряд свойст и методов... А в пхп вы создаете всю эту структуру, только чтобы вызвать метод "положить яблоко в холодильник", и все, скрипт завершится. Времени потрачено на инициализацию этой системы -- уйма, на освобождение -- тоже. А полезной нагрузки -- всего пара процентов времени. Я согласен с термином что если нужна производительность, то разумеется, нужно писать не на пхп. Но блин, тратить 90% времени работы процессора только на инициализацию/освобождение, парсинг, компиляцию (байткод-кеш решает только лишь небольшую часть проблем) -- это как-то чересчур. Имхо, в пхп вообще зря встроили ООП. И тоже имхо, тут больше подойдет stateless-программирование, ибо состояния ну нету в пхп скрипте. Против фреймворков я не имею ничего против -- это лишь инструменты, созданные в определенных условиях, которые позволяют упростить часть задач. В данном случае по крайней мере у разработчика есть выбор -- удобство или производительность. Хотя, мне кажется, если бы ФП было бы чуть более популярным, можно было бы создать фреймворки с подобным функционалом, без ООП, но работающие гораздо быстрее, при обработке 90% запросов. ну это не делает это что-то Именем Собственным я вот тоже уважаю, например, пиццу и кофе, и пытаюсь изучить как их очень хорошо приготовить, и пробую, пробую... но не писать же мне их с большой буквы на самом деле, я просто хотел сказать, чтобы вы не думали, что ООП -- это что-то такое типа магии, супер-пупер какой-то концепции, перевернувшей представление о мире вообще. Это лишь одна из нескольких моделей описания алгоритма, причем лично я в последнее время, после попытки изучения нескольких Java-программ (а они, пожалуй, наиболее объектно-ориентированы), и познакомившись с ФП, понял что AbstractProxyClassFactoryFactory -- это не совсем то направление, которое мне подходит. см. http://habrahabr.ru/post/172119/
0
|
18.08.2013, 23:22 | |
18.08.2013, 23:22 | |
Помогаю со студенческими работами здесь
4
Нужен совет по удалению левых ссылок Singleton для PDO. Нужен совет Нужен совет по написанию класса валидатора Свежие головы,дайте совет по коду Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |