Войти
ФлеймФорумОбщее

Как обьяснить людям, зачем нужны классы, наследование и ООП? (6 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#75
23:31, 20 сен. 2018

skalogryz
А если нужна сеть под нагрузкой - то опять таки, что угодно, но только не винвос в его NDIS =)


#76
23:33, 20 сен. 2018

0iStalker
Меня забанил модератор за тему про телеграмм, а сам постит вредоносных котиков направо и налево. Вот она, демократия.

#77
23:37, 20 сен. 2018

Ogra

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

Впринципе, после такого поста, тему можно закрывать.
#78
23:40, 20 сен. 2018

Клапауций

я правильно ли сделал вывод, что сэшэа это рай для наркоманов?

Все верно. Но не стоит забывать - что заграница на США не заканчивается. Есть множество других очень классных стран.
#79
4:46, 21 сен. 2018

f1ufx_
> Впринципе, после такого поста, тему можно закрывать.

Т.е. ответа у тебя нет?

#80
5:56, 21 сен. 2018

f1ufx_
> Разве выделение базового класса и иерархии наследования, не увеличивает
> количество понятий и сущностей? Разве использование ФабрикФабрикИнструментов не
> приводит к экспоненциальному росту сложности?
Правильная метрика - это не то количество сущностей, которые есть в программе в сумме, а то количество, которое нужно держать в уме одновременно.
Следовательно, идеальный ООП - это когда, работая внутри одного класса, тебя не волнует ничего, кроме содержания этого класса.

#81
6:44, 21 сен. 2018

Delfigamer
> Правильная метрика - это не то количество сущностей, которые есть в программе в
> сумме, а то количество, которое нужно держать в уме одновременно.
> Следовательно, идеальный ООП - это когда, работая внутри одного класса, тебя не
> волнует ничего, кроме содержания этого класса.

Когда я работаю в функциональном стиле, меня волнует только одна функция - код и входные данные. В ООП мне нужно держать в голове текущий метод, его входные данные, а также состояние объекта класса. Почти одинаково, на самом-то деле. Но стоит подключить наследование... теперь нужно либо подумать, а не сделать ли метод виртуальным, либо (если метод уже виртуальный) держать в уме LSP - и хорошо, если я не упрусь в Circle-Ellipse problem!

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

#82
7:15, 21 сен. 2018

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

#83
9:14, 21 сен. 2018

Ogra

Т.е. ответа у тебя нет?

Буддизм разрешает бить и убивать людей, если они особо тупые и несут чушь. Это выражено в благом действии: "искоренять зло".
Так что я бы отрубил тебе голову. Тут просто и говорить не о чем.
#84
9:21, 21 сен. 2018

Delfigamer

Потоки здорового человека:

Работа всего со всем для плюсов уже написана и не раз. Надо уметь пользоваться open source библиотеками. Таких велосепедостроителей как ты надо увольнять.
#85
9:22, 21 сен. 2018

f1ufx_
Вам, батенька, лечиться надо.

#86
9:24, 21 сен. 2018

Delfigamer
Нагуглил за 1 минуту. Стримы с заточкой поде сереализацию.
http://jscheiny.github.io/Streams/

#87
9:25, 21 сен. 2018

Ogra

Вам, батенька, лечиться надо.

Браток, ты уверен? Лучше расскажи, как давно тебе по морде били? Может в школе, или институте? Просто любопытно.
#88
9:27, 21 сен. 2018

f1ufx_
Ты уже перестал пить коньяк по утрам? Просто любопытно.

#89
9:44, 21 сен. 2018

Delfigamer
А вот стримы гоняем по через сеть:
https://github.com/cpp11nullptr/lnetlib/blob/master/example/client/main.cpp

Вообще стримы - тема неоднозначная. Действительно всё зависит от задачи.
Стандартные стримы весьма хорошо пригодны для рядя отпределённых задач.

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

Но всё же сперва нужно поискать. Когда тебе приходит идея сделать что-то лучше стандартного - всегда стоит поискать на гитхабе или сорс-форже, может такая иедя уже пришла кому то до тебя. На 99% случаев на моей практике это так.

Страницы: 1 2 3 4 5 6 7 Следующая »
ФлеймФорумОбщее

Тема в архиве.