![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk Страницы: (16) Все « Первая ... 2 3 [4] 5 6 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: нет Всего: 4 |
Если будет выбор книг: ООП, ООП в (Visual Basic || Delphi || C++), ООП в PHP. Объем книг одинаковый, автор у всех вменяемый. Я бы выбрал ООП в PHP. Теория подкрепляется примерами на самом PHP. Если мне нужно понять ООП вообще и использовать его в PHP, этот выбор будет разумнее чем книга про просто ООП, и тем более про ООП в других языках. |
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
А что, много книг про ООП в ПХП?
![]() Насколько я знаю, это не так ;) |
|||
|
||||
Sergey912 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
Из всего топика и вообще в ООП понял, что оно лучше в проектировке так как задумывается как единое целое т.е. объекты могут взаимодействовать и пишутся с учетом связей в друг друге + к тому однотипные группируются в один класс, скажем класс баз данных и потом их удобно юзать. Кстати если класс грамотно написан им удобно пользоваться даже если его писал не ты, скажем в отличии от 50 процедур, которые писались под конкретную задачу и использовать их по делу для других часто довольно сложно....
Гм, вобщем-то понятнее стало. Не в синтаксисе дело, а именно в проектировке. Вот только как с процедурного перейти на ООП - я совсем подругому мыслю и для не шаюлонных задач море вопросов ![]() - 3 группы текстов - по 50 в каждом - нестандартная верстка нужно свести к одному т.е. оформить одинаково. Вот где тут его использовать, как вобщем-то для самых разнородных задач начать проектировать такие вещи... вот тут процедуры имхо проще и практичнее. Не понимаю я как ООП тут мне поможет ![]() |
|||
|
||||
Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: нет Всего: 22 |
ООП там где много повторного кода.
|
|||
|
||||
Letov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 321 Регистрация: 22.2.2007 Где: Санкт-Петербург Репутация: нет Всего: 4 |
ООП - как стиль программирования. Кто-то его придерживается, а кто-то - нет. Каждый выбирает сам для себя. ООП - структурированная модель. Удобно в больших приложениях. Функция - для маленьких приложений или старых версий языка. Переносить, например, приложение с PHP5 на PHP4 удобнее, если использовать функции.
-------------------- Не бывает плохих языков программирования. Бывают плохие программисты... |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
Слушайте, подобная тема "объектное vs процедурное" уже далеко не актуальна, по интернету подобных обсуждей как грязи. Чтоб понять ху из ху, нужно взять любую книгу какого-нить ООриентированного языка, пусть тот же C++ или Java (есть и просто теория) , там в первых главах обзательно эта тема затрагивается, после прочтения которых вопросы у вас сами отпадут.
Добавлено через 4 минуты и 20 секунд Ну... не все вопросы конечно, сразу отпадут, но часть эт точно, а после практической реализации точно все. -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: нет Всего: 8 |
Каждый подход применим к своей задаче.
Хороший программист должен писать хороший не только ОО код, но и функциональный и структурный. |
|||
|
||||
koreshX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 28.3.2007 Репутация: нет Всего: нет |
CMS Drupal - пример, где модули пишутся исключительно с использованием функционального подхода. И я почему-то совершенно не видел каши, рутины или грязи. В тоже время встречал исключительно объектные проекты, в которых было разобьраться почти не реально. ПРограммируя на php использовать ооп нужно там где это нужно, а не везде, как мне кажется. Ибо это не Java и не C# (и не руби..), где ооп есть основа всего и вся. Моё ИМХО - пытаться писать на пхп исключительно объектно - это будет лишь пародия на системы написанные на исключительно объектных языках. |
|||
|
||||
vasac |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: нет Всего: 36 |
||||
|
||||
koreshX |
|
||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 28.3.2007 Репутация: нет Всего: нет |
"Исключительно объектно" - это значит что нельзя сложить 2 числа не создав класса. А "ИМХО", на сколько я знаю в мотивациях не нуждается...
Посмею предположить, что вы видели модули написанные не самым лучшим образом. |
||||
|
|||||
WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: нет Всего: 8 |
koreshX, абсолютно объектно-ориентированным языком можно назвать разве-что руби, да и то с натяжкой, по этому не надо гиперболизировать.
очевидно, что автор подразумевал разумное использование возможностей ооп, которыми наделен php Это сообщение отредактировал(а) WolfON - 24.5.2007, 00:40 |
|||
|
||||
WIPS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 1 Всего: 8 |
На мой взгляд ООП более приемлем, чем ПОП хотябы потому, что окружающий мир состоит из объектов (экземплятов классов, если угодно), а не из функций (читай действий) и имеет след. преимущества:
1. Повышается понимаемость кода. Возьмем, напр., ф-ю __стрелять(). Снайпер стреляет по мишени, бомж стреляет сигареты, девушка стреляет глазками. Используя ПОП необходимо либо передавать доп. параметр "кто_стреляет", либо использовать префиксное именование ф-ций, а отсюда вторая выгода: 2. Отчасти решается проблема именования. 3. Пусть у девушки есть ещё методы кроме __стрелять(), напр. __могу_ли_охмурить(), __могу_ли_съесть_пирожное(), __надо_ли_худеть() и пр.. Все они зависят от огромного числа параметров (рост, вес, объем груди, талии и бедер, харизма, наличие косметики и т.п.). В ООП достаточно задать эти параметры единожды для объекта, а в ПОП вам каждый раз придется описывать девушку передавая кучу её параметров в каждую ф-ю пусть даже и массивом. 4. Мы можем заставить всю нашу компанию (снайпер, бомж и девушка) стрелять по одной команде (__стрелять()), т.к. все они имеют таковой интерфейс. 5. Так же легче добавлять новых членов в нашу компанию (спина напр. тоже может __стрелять()). 6. Наша компания может состоять и из нескольких девушек (объектов одного класса), кот. тоже можно заставить стрелять по одной команде. Все будут делать это примерно одинаково, но каждая немножко по своему в зависимости от параметров (см. п. 3). Короче говоря реальная жизнь состоит из объектов которые имеют свойства и могут совершать действия (т.е. имеют методы), а следовательно спроектирвать и написать программу (т.е. создать информационную модель чего-то рельно существующего) проще имея аналоги рельных объектов (так устроен мозг человека). Процедурный подход хорош для чисто вычислительных задач, т.к. так же далек от реальности как и "чисто вычислительные задачи". Р.S. А понимать ООП проще все же вообще в отрыве от языка. Главное - понять концепцию. А ее реализация в каждом конкретном случае (читай - ЯП), это лишь вопрос синтаксиса и наличия/отсутсвия некоторых возможностей. P.Р.S. Все вышесказанное - мое ИМХО. --------------------
Автопроизводители, машины, марки, модели! |
|||
|
||||
Alan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 2.8.2006 Где: Россия, Самара Репутация: нет Всего: нет |
Перехожу на ООП... постепенно. Преписывать старые проекты не буду. Но новые начну с ООП.
|
|||
|
||||
Sergey912 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
WIPS,
Он не изучен даже до конца, не то чтобы сделаны однозначные выводы и построена четкая модель ![]()
Но никуда не денешься от реализации всех функций "стреляния" т.е. именно кода который за них отвечает и реализации огромного кол-ва классов. Но их избыточность это совсем не хорошо. Это сообщение отредактировал(а) Sergey912 - 26.7.2007, 02:22 |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: -1 Всего: 5 |
ООП может дать особое понимание программирование. Когда то программа представляла собой только линейную структуру. ООП даёт не просто красивый и читабельный код, а представление мира в его аналогах. Для некоторых людей это просто способ обеднать свои функции в отдельную библиотеку и оно отличается от ПОП только тем что можно впихнуть больше кода, но другие могут написать аналог предмета или живого существа и тогда складывается впечатление что ты работаешь з реальным предметом, а не з программным кодом. Когда ты это поймешь то мир программирования покажется другим. Думаю многие согласятся.
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Избранное | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |