|
|
|||||||||||
Немного философии ООП17.09.2016, 07:15. Показов 2587. Ответов 24
Метки нет (Все метки)
На днях на работе возник холивар с коллегами, к правильному решению пришли только на следующий день, почитав Мейерса и Саттера (один из участников холивара уже знал о правильном решении, но сторонников неправильного было большинство).
Рекомендаций от упомянутых гуру пока не говорю, предлагаю поразмышлять) Итак - есть проект, в проекте используется ООП, скатываться до С считается мовитоном и не приветствуется. Есть структура сеттингов
Вопрос - как сделать правильно, чтоб было хорошее ООП? Не по теме: rikimaru2013, хотел интересных вопросов? :)
2
|
|||||||||||
| 17.09.2016, 07:15 | |
|
Ответы с готовыми решениями:
24
Обработка всех исключений TIdHTTP + немного ООП Немного философии Язык и библиотеки, немного философии |
|
|
||
| 18.09.2016, 19:42 [ТС] | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 20.09.2016, 00:08 | |
|
boost.serialization/cereal
1
|
|
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
|
| 21.09.2016, 22:28 | |
|
Отклонюсь в сторону.
Почему 2 функции в неймспейсе это "сишный подход" и моветон? STL переполнена такими функциями. Или я чего-то не так понимаю? Страуструп русским по белому писал, что моветон, это как раз когда методами класса (пусть и статическими) делают функции, которым не нужен доступ к приватным членам класса. Все к тому и сводится: нужен доступ к приватным членам - статик, не нужен - отдельные функции. ООП ради ООП, как уже сказали, это ведь в разы хуже чем "сишный подход"
0
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 22.09.2016, 18:14 | |
|
Я согласен с castaway - Settings хоть и структура, должна в первую очередь знать, что ей нужно сериализовать. Пусть она не имеет алгоритмы, но должна предоставить метод для тех кто умеет. И посему 22 пост, как по мне, лучше всего это делает. Ведь в идеале структура в одном файле, и добавив поле не хотелось бы искать, где её сериализатор. В СИ такого вопроса не возникало, потому что структура писалась как sizeof(), а тут нужен ООП подход: объект знает всю private кухню и подскажет алгоритму сохранению, что ему делать
0
|
|
|
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
|
||||||||||||
| 26.09.2016, 12:22 | ||||||||||||
|
1.
Settings - стоит определить как class, т.к. он содержит не Pod-тип внутри себя, и для него будут сгенерированы конструкторы/деструкторы для управления памятью2. Результат сериализации - нечто иное как представление класса, следовательно, она не должен фигурировать в нём. 3. Если хочешь ООП, то представь сериализацию как конфигурируемый процесс, которым кто-то управляет, тогда можно и так сделать:
PacketObject (которые тогда правильнее назвать PacketSettings )
1
|
||||||||||||
| 26.09.2016, 12:22 | |
|
Немного теории ООП Задание по ООП немного не догоняю Ответы по философии В наушник попало немного воды и он стал немного тише играть Гравитация. «Математические начала натуральной философии» Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе.
Самым главным критерием для меня было создание паролей, в котором отсутствуют знаки: | 1 l I
Обработка содержит реквизиты:
-. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|