[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Использование ООП в крупных проектах
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
SlavaFr
Цитата (MiksIr @ 8.10.2013 - 13:53)
Наследование - это не пришивание кошке хвостов. Это описание того, что есть многообразие кошек с разными хвостами.


Да, абсолютно согласен.

К стати что касается наследования, то мы в фирме стараемся его заменить на композицию. В новом коде слово "extends" встречается все реже и реже, а изменение сигнатуры методов наследника, вообще табу и для избежание недоразумений используем интерфейсы.

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
bestxp
а причем алгоритмирование и ООП ?

Мы описываем объект, мы с ним что-то делаем, объекты взаимодействуют через интерфейсы.
Как говорил хороший друг, у каждого своё понимание ООП , но всегда приходят к 2ум,

1. ООП это отображение реального в виртуальном,
2. что не все можно отобразить.

Как в физике или любой другой науке.

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

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

А вот остальное уже то про что идет спор, уже есть во всех других языках

сугубо ИМХО стороны номер 1
waldicom
Цитата (twin @ 8.10.2013 - 11:25)
ООП, это ООП. Ключевое слово - программирование, никакой связи с реальным миром нету. Мыслить такими категориями, значит сразу загнать себя в рамки.

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


_____________
Свои мозги еще никто не отменял.
Телепатов нету.
twin
Я маленьким еще когда был, ходил в радиокружок. И у меня была книжка, где вся радиотехника была описана на примере водопровода. Вентили, емкости, клапана... Ну до того примитивно и просто, что 10-летнему пацану, толком физику не изучавшему, было все до предела понятно.

Но в этой книге не описывалось устройство телевизора. Ибо сделать телевизор из водопроводных труб, это уже глупость.

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

Но пытаться мир с ООП сравнивать, это как собрать телевизор из сантехники. Теоретически возможно, но нужно ли кому...

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
SlavaFr
@bestxp я понимаю, что ты хочешь сказать, но есть классы которые с реальным миром не имеют не чего общего, а служат процессам и алгоритмам которые в бизнес-логике вообще не какого отношения не имеют.
К примеру SAX парсер для чтения XML файлов. Вся имплементация служит процессу, а сам процесс служит поточному чтению файла и не может быть не чем заменен при чтении больших файлов. Да в какой то степени это можно тоже приписать к реальному миру, если рассматривать его с точки зрения программиста, но очень очень отдаленно.


_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
waldicom
Цитата (twin @ 8.10.2013 - 17:15)
Ну у тебя мозг взорвался - на всех не угодишь. А многим нравится и многие считают это вполне логичным объяснением.

Это так, конечно...

Цитата (twin @ 8.10.2013 - 17:15)
Но пытаться мир с ООП сравнивать, это как собрать телевизор из сантехники. Теоретически возможно, но нужно ли кому...

Это не так, конечно smile.gif
Например классификация животного мира очень спокойно ложиться на объекты.

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
sergeiss
"Я фигею, дорогая редакция" (С) smile.gif
Это ж надо, опять холиварище развели на тему ООП smile.gif

Цитата (twin @ 8.10.2013 - 20:15)
это как собрать телевизор из сантехники. Теоретически возможно, но нужно ли кому...

Тут вопрос восприятия. Если эта сантехника будет брызгать цветной водичкой, да на бумагу, то мы получим не совсем телевизор, но - цветной струйный принтер. Вполне полезный прибамбас. Так что аналогия вполне подходящая и имеющая реальные основания smile.gif Тем более, что многие законы, связанные с водой, на самом деле имеют вполне определенные аналоги в электричестве.

Что касается кошек, хвостов и ягнят. ООП, по сути, позволяет описать именно эволюцию начального объекта. И если белке можно приделать крылья, хотя бы в виде перепонок между лапами, то мы получим белку-летягу. Ну да, она как бы планирует, а не летает как птица. Но обычная белка даже этого не может. Впрочем, возможно и так, что обе белки имели общего предка (скорее всего), но просто развивались по разным направлениям. То же самое и кошки: надо будет - полетят smile.gif

Если посмотреть классификацию животного мира, реального, а не абстрактного, то мы увидим то же ООП, по своей сути. Далеко за примерами ходить не буду: http://ru.wikipedia.org/wiki/Животные

Кстати. Человек тоже очень хорошо туда попадает, в свое определенное место.

А животные не с 3-мя хвостами, а с 2-мя головами... В Чернобыле бывают. Даже овцы, по-моему. Не говоря уж про змей. Тоже вполне себе так дополнительные "классы", которые наследовали всё от предков, плюс получили нечто новое.

Ну, и собственно про ООП. В определенных ситуациях оно нужно. Да, не для сайта в 3-4 страницы. Но для большого проекта - нужно.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Invis1ble
Свернутый текст
user posted image


_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

YVSIK
Цитата (bestxp @ 8.10.2013 - 19:18)
а причем алгоритмирование и ООП ?

не дочитав этот топик я рассмеялся прочитав это

Цитата (bestxp @ 8.10.2013 - 19:18)
а причем алгоритмирование и ООП ?

а при том! laugh.gif laugh.gif
алгоритм есть-последовательность действий, и что? в ООП его нет по природе? там есть только объекты , которые живут сами по себе, и им начхать на последовательность?

_____________
«Гнусное свойство карликовых умов приписывать
________________!свое духовное убожество другим!»
___
О) как-же он прав=>__________________ © Оноре де Бальзак.

отличный хост(рекомендую !! )
My MVC-CMV
bestxp
@YVSIK поверхностно смотришь

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

А объекты внутри в методах и в своей реализации не должны иметь более одной ответственности, тогда у тебя выйдет уже мутант какой-то ( Год класс )
Guest
Вышла новая книга Ф. Брукса
Проектирование процесса проектирования записки компьютерного эксперта

Опыт работы более 60 лет. Его мнение и многих других проектирование глубоко перевязано между собой по разным областям: архитектура, программирование, создание компьютеров, художество ...
Это лишний раз подтверждает что всё связано через сущности и объекты.

Книга отличная рекомендую.
twin
Цитата (waldicom @ 8.10.2013 - 17:17)
Это не так, конечно smile.gif
Например классификация животного мира очень спокойно ложиться на объекты.

В том и беда, что вы пытаетесь объяснить принципы ООП, укладывая животный мир на объекты. А не объекты на животный мир. Разницу чуете?

Другими словами вы описываете животных уже привычними вам классами и объектами. А не объекты ассоциациями. Вы даже и говорите в основном так: собака(!), это класс, объясняя вовсе не что такое собака. Это совершенно неверный подход к восприятию ООП.

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

И чем раньше поймешь, что ООП и реальный мир живут по разным законам, тем проще будет понять принципы последнего. Так как уже писали: есть такие вещи, которые вообще не идентифицируются в реальном мире.

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

Вот человек написал честно. И не дилетант какой-нибудь.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Guest
Ещё одного не учитывается в полемике ООП, функции для программистов, если инкапсулировать в них, объектное понимание более приближённое к естественным связям, не только в природе! (если уж мы плохо относимся к природным ассоциациям).
Здесь в пору цитировать Макконнелла об ассоциативном общении и особенно обучении. Да, отразить тяжелее в программном языке, но построить менее связную большую структуру легче мозгу в проектировании нежели функциями.
waldicom
Цитата (twin @ 9.10.2013 - 06:56)
В том и беда, что вы пытаетесь объяснить принципы ООП, укладывая животный мир на объекты. А не объекты на животный мир. Разницу чуете?

Ко мне можно на ты.
Я про что... Поводом моему посту послужил от факт, что ты описывал web+http с помощью верблюда из шерсти и это было нормально. А вот объяснение классов с помощью классификации животных - это уже не нормально. То, что ты упертый - это уже поняли многие. И я уж точно не собираюсь переубеждать тебя.

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
HErATuB
Цитата (twin @ 8.10.2013 - 10:25)
Цитата
ООП способ переложить объекты и процессы реального мира на технический язык
ООП, это ООП. Ключевое слово - программирование, никакой связи с реальным миром нету. Мыслить такими категориями, значит сразу загнать себя в рамки.

Разве можно представить себе в реальном мире кошку, которая может родить трехголового ягненка, у которого есть брат-близнец, умеющий летать...

Ну какой реальный мир, о чем вы.

Не удачный пример. Возьми например машину. Допустим машина эта объект которая имеет свои свойства, действия и дочерние объекты. Из за этого объекта мы создаем экземпляр объекта с разными свойствами тем самым мы получаем разные автомобили.
Быстрый ответ:

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