Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> с каждым проектом мой ООП все хуже, что не так? что почитать/посмотреть? 
:(
    Опции темы
semibug
Дата 15.1.2011, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 323
Регистрация: 27.3.2009

Репутация: нет
Всего: нет



Ув. Знатоки.
Заметил такую вещь в своем коде - с каждым новым проектом все меньше хочется прибегать к наследованию классов и к концепции "думайте объектами, а не данными".
Классы воспринимаются только как средство для разграничения области видимости и удобной подстановки интелисенсом.
Вместо добавления метода к классу, пишу функцию, которая оперирует этим классом. Функции все чаще становятся static (некоторую роль в этом играют callback-и для той же STL).
Классы хочется сделать по максимуму независящими ни от чего, никакого наследования, по возможности только стандартные типы, даже если это загромождает код.
Такие вот симптомы.
Что почитать/посмотреть дабы встать на путь истинный?




PM   Вверх
KaraKum
Дата 15.1.2011, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: нет
Всего: 1



Шаблоны проектирования.
Если смотреть на ООП с высоты птичьего полёта, то станет понятно что само-по-себе это лишь один из вариантов решения глобальных задач и, при этом, в Библии не написано ничего о священности этой парадигмы, хотя нетрудно найти людей, готовых сжечь тех кто не верит в ООП.
ООП впервые было введено в Smalltalk'е группой из трёх разработчиков во главе с Аланом Кэйем. Ещё в те времена можно было сомневаться в качестве и применимости этой инновации, но сегодня уже видно что решает кучу проблем - это зависит от задачи.
PM MAIL WWW   Вверх
toxx
Дата 15.1.2011, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 4
Всего: 13



ОО Анализ и ОО Проектирование помогут.
Часть этой книги тоже

Крэг Ларман. Применение UML 2.0 и шаблонов проектирования. 
Введение в объектно-ориентированный анализ, проектирование и итеративную разработку. 

PM MAIL   Вверх
mes
Дата 15.1.2011, 19:29 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(semibug @  15.1.2011,  17:39 Найти цитируемый пост)
с каждым новым проектом все меньше хочется прибегать к наследованию классов...

 smile 

Цитата(semibug @  15.1.2011,  17:39 Найти цитируемый пост)
Вместо добавления метода к классу, пишу функцию, которая оперирует этим классом. 

 smile 

Цитата(semibug @  15.1.2011,  17:39 Найти цитируемый пост)
Классы хочется сделать по максимуму независящими ни от чего, никакого наследования, по возможности только стандартные типы, даже если это загромождает код.

 smile 

Цитата(semibug @  15.1.2011,  17:39 Найти цитируемый пост)
Что почитать/посмотреть дабы встать на путь истинный?

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

Это сообщение отредактировал(а) mes - 15.1.2011, 19:29


--------------------
PM MAIL WWW   Вверх
KaraKum
Дата 15.1.2011, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: нет
Всего: 1



Цитата(mes @  15.1.2011,  20:29 Найти цитируемый пост)
как ощутите края сможете легко плыть придерживаясь золотой середины

То есть учиться на своих ошибках что ли??
Тогда можно начать с ассемблера.
Или с паяния АЛУ из транзисторов.
PM MAIL WWW   Вверх
bsa
Дата 15.1.2011, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(KaraKum @  15.1.2011,  20:39 Найти цитируемый пост)
То есть учиться на своих ошибках что ли??

нет. это стандартный процесс обучения ООП. Сначала, прочитав про ООП, ты начинаешь применять его всюду. Через некоторое время, подобная практика приводит к появлению отвращения к ООП, так как бездумное ее применение ведет к большим проблемам. После этого, ты перестаешь ее применять где только можешь... Затем появится момент, когда решить поставленную задачу без ООП будет практически нереально. К этому времени ты знаешь все плюсы и минусы ООП, а так же где лежат самые большие грабли...
PM   Вверх
GrayCardinal
Дата 15.1.2011, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



bsa, 
Сроду не было жалания 
Цитата

Сначала, прочитав про ООП, ты начинаешь применять его всюду.

smile

Вообще, ООП это хорошо конечно, но почему-то все шедевры программерской мысли написаны на чистом Си. Ядро, Perl, Ruby, PHP... Сам предпочитаю функциональное программирование, но зачастую без классов реально никак. Взять хотя бы Qt4 ...



--------------------
PM MAIL WWW   Вверх
mes
Дата 15.1.2011, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(KaraKum @  15.1.2011,  18:39 Найти цитируемый пост)
То есть учиться на своих ошибках что ли??

и на своих тоже smile

Цитата(bsa @  15.1.2011,  18:50 Найти цитируемый пост)
это стандартный процесс обучения ООП. Сначала, прочитав про ООП, ты начинаешь применять его всюду. Через некоторое время, подобная практика приводит к появлению отвращения к ООП, так как бездумное ее применение ведет к большим проблемам. После этого, ты перестаешь ее применять где только можешь... Затем появится момент, когда решить поставленную задачу без ООП будет практически нереально. К этому времени ты знаешь все плюсы и минусы ООП, а так же где лежат самые большие грабли... 

 smile , именно так и подразумевал smile

Цитата(GrayCardinal @  15.1.2011,  19:01 Найти цитируемый пост)
Сроду не было жалания 

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

Цитата(GrayCardinal @  15.1.2011,  19:01 Найти цитируемый пост)
 но почему-то все шедевры программерской мысли написаны на чистом Си.

а Вы уверены, что они написаны без применения ООП smile.. 



Это сообщение отредактировал(а) mes - 15.1.2011, 20:25


--------------------
PM MAIL WWW   Вверх
GrayCardinal
Дата 15.1.2011, 20:30 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



Цитата

ну так речь о тех, кто решил встать на путь ООП, а не тех, которые попытались его обойти сбоку

 smile 



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 15.1.2011, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



мое мнение - каждый использует ООп по знаниям и возможностям.
я, не люблю ООп. стремлюсь к декомпозиции.

так же, зависит от целей. и вообще....это почти интимно для каждого программиста. но, считаю, что вред наносимый ООп, гораздо больше чем польза от него. ИМХО.

PM WWW   Вверх
KaraKum
Дата 16.1.2011, 00:03 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: нет
Всего: 1



Цитата(boostcoder @  16.1.2011,  00:54 Найти цитируемый пост)
это почти интимно для каждого программиста

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


Цитата(boostcoder @  16.1.2011,  00:54 Найти цитируемый пост)
 считаю, что вред наносимый ООп, гораздо больше чем польза от него. ИМХО.

Думаю что без ООП такие вещи как Qt или UnrealEngine было бы невозможно написать. Ну или затратив на это в 10 раз больше времени - по экспоненциальной - каждая новая добавленная строчка кода стоила бы столько же трудов, сколько написать все остальные.
PM MAIL WWW   Вверх
boostcoder
Дата 16.1.2011, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



 smile 
Цитата(KaraKum @  16.1.2011,  00:03 Найти цитируемый пост)
Qt

я Вас не поддержу, ибо считаю, что Qt и все порожденное им: много-много ###кодеров недоучек, пишущих окошечки в стиле "Си с классами", просто не понимают на сколько они обмануты, и их цели лишь туман. также, ИМХО.

без холивара, пожалуйста. просто мое мнение.
PM WWW   Вверх
mes
Дата 16.1.2011, 00:26 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(boostcoder @  15.1.2011,  23:12 Найти цитируемый пост)
просто не понимают на сколько они обмануты, и их цели лишь туман. 

 smile  smile 



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 16.1.2011, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



 smile 
Цитата(mes @  16.1.2011,  00:26 Найти цитируемый пост)
     

имею ввиду то, что новички с головой бросаются в изучение Qt, полагая, что это им что-то даст.
но вспомните времена билдера, и тех, кто писал используя его. что стало с теми программистами, когда им пришлось изучать альтернативы(wx, Qt, STL, boost) ;)

зы
больше не отвечаю в эту тему. а то придет дядя алексеич, и снова скажет что я тролль smile 
PM WWW   Вверх
KaraKum
Дата 16.1.2011, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: нет
Всего: 1



Цитата(boostcoder @  16.1.2011,  01:12 Найти цитируемый пост)
без холивара, пожалуйста

Никакого холивара - просто охота на ведьм  smile

Добавлено через 3 минуты и 13 секунд
P.S. Qt - эталон ООП. Бинарная концентрация вселенской мудрости  smile .
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.3201 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.