|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
Объектно-ориентированное проектирование и дизайн приложений: взаимодействие, модели, системы, архитектура21.12.2015, 06:52. Показов 8680. Ответов 125
Метки нет (Все метки)
В общем, дело такое. В ООП ничего не понимаю. Нужны некоторые уточнения парадигмы. Предполагается чистый C++ (без boost, stl и подобного).
Для примера: создание класса "журнал оценок". Двойки в который в детстве ставили многим. 1. Должен ли класс внутри себя хранить массив ФИО, Даты? Или не должен. 2. Не очень понятно как связать оценки, если должен. Я так понимаю, что класс все-таки должен хранить внутри себя массивы. Но это использовать неудобно, местами вообще непонятно (вопрос пересечений ФИО и Даты для получения оценки). Как это может стать удобным мой мозг догадываться наотрез отказался, уперся в то, что массивы надо создавать вне класса и обрабатывать их вне класса, а класс должен содержать только единичные значения. Это, с единичными значениями и внешними массивами, может и удобно, но так не получается такой объект, который как бы заимствован из нашего мира и спроецирован в мир приложения, а, значит, такое ООП - не ООП. Помощь нужна. Я именно в теории нуждаюсь. Примеры, конечно, тоже могут стать полезны, только сложных не надо.
0
|
|
| 21.12.2015, 06:52 | |
|
Ответы с готовыми решениями:
125
объектно-ориентированный анализ,объектно-ориентированное проектирование Буч, Гради. Объектно-ориентированное проектирование с примерами на С++ Объектно-ориентированный анализ и проектирование с примерами приложений |
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
||||||||
| 19.01.2016, 20:22 | ||||||||
|
Если желаете хранить "справки" - пожалуйста.
А в софтине вы им отсутствие нарисуете хоть на китайском - 缺席
0
|
||||||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 19.01.2016, 20:27 [ТС] | |
|
Ну, Вы просто не понимаете о чем я.
У Физрука журнал. В нем есть Петя, Вася, Катя У Географа журнал того же класса того же года. Но у него в журнале есть только Петя, Катя, Дима. У физрука нет записи о Диме вообще. У географа нет записи о Васе ========== В Вашем случае записи есть.
0
|
|
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
||
| 19.01.2016, 20:41 | ||
|
Собственно в моём варианте - запись означает что оценка проставлена, если записи нет - значит оценка не проставлена. И добавьте сами тип записи для такого поведения. У вас получится, я не сомневаюсь.
0
|
||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 19.01.2016, 20:45 [ТС] | |
|
Так-то замечательная подсказка. Не надо думать, что я что-то плохое в ней увидел.
Добавлено через 3 минуты Почему сразу платном. Дима астматик с рождения. Его не вписывают в журнал по физре. Вася географию по программе не проходит (набожная семья, верит в плоскость планеты).
0
|
|
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
||
| 19.01.2016, 20:53 | ||
![]() Просто выберите вариант данных который вас устроит. Меня бы устроили справки которые я привёл.
0
|
||
|
Комп_Оратор)
|
|||
| 19.01.2016, 21:02 | |||
![]() Создайте словарь: id , { Имя, Отчество, Фамилия, контейнер использования}. Контейнер хранит ссылки на места, где используют данный id. Журнал там зарегистрируется. В числе многих. Журналов в том числе. Иначе один толстый журнал получается. Толстый - ключ. А ведь всё начиналось так хорошо:
1
|
|||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||
| 19.01.2016, 21:10 [ТС] | ||
|
Мало что понял. Но сейчас у меня шланг заработал, а это означает, что пора кодить.
Модель есть. Структура хранения есть. (Пока что просто файл). Я еще потом сюда все равно заходить буду. Но сейчас есть с чем работать. И это замечательно.
0
|
||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 20.01.2016, 10:12 [ТС] | |
|
Nosey, Файл мне мало подходит. Я же моделирую поведение. Дело не просто в журнале, а во взаимодействии.
Можно представить такую ситуацию, где профессор берет журнал с полки. Пока идет урок, журнала нет на полке. Пока шел урок, декан факультета хотел взять журнал. Он хотел взять его на полке, но журнал был занят и на полке его, соответственно, не было. Добавлено через 8 часов 29 минут Меняю мнение. Вполне подходит. Провоцирует планировку новой системы. Это своеобразная сложность. Мне так-то понятно. ..................... Тему можно переименовать в: "Дизайн проектирования. Взаимодействия. Модели, системы, архитектура программ." Насчет советов не страдать, а кодить. Хоть убейте, но система взаимодействия Журнала и обьектов не какой-то глобальный проект, хотя по некоторым советам я мог бы об этом начать думать. Сколько можно говорить, что это сложно. Учебный вариант не представляет особой сложности если человек умеет мыслить. Разве это не нормально разделить какую-то систему на такие ее составные части. 1. Общий план вообще всего проекта (то, о чем мне писали, чтобы я вообще не думал, а сосредоточился на более мелких частях). Общий план - это модель в виде схем или диаграмм, uml это или салфетки роли вообще не играет. Если система действительно громоздкая и достаточна глобальна, то тут вопросов быть не может. Кусочек взял, кусочек сделал. 2. Выцепить из общего плана наиболее важные моменты. В моем случае таким моментом стала подсистема, определяющая внедренцев. Также распланировал общий план и многие вопросы сами собой отпали. 3. Кодинг. 4. Я пока еще не дошел. Таковы мои промежуточные выводы. Пока что я на стадии кодинга. Добавлено через 3 минуты Меняю мнение. Вполне подходит. Провоцирует планировку новой системы. Это своеобразная сложность. Мне так-то понятно. ..................... Тему можно переименовать в: "Дизайн проектирования. Взаимодействия. Модели, системы, архитектура программ." Насчет советов не страдать, а кодить. Хоть убейте, но система взаимодействия Журнала и обьектов не какой-то глобальный проект, хотя по некоторым советам я мог бы об этом начать думать. Сколько можно говорить, что это сложно. Учебный вариант не представляет особой сложности если человек умеет мыслить. Разве это не нормально разделить какую-то систему на такие ее составные части. 1. Общий план вообще всего проекта (то, о чем мне писали, чтобы я вообще не думал, а сосредоточился на более мелких частях). Общий план - это модель в виде схем или диаграмм, uml это или салфетки роли вообще не играет. Если система действительно громоздкая и достаточна глобальна, то тут вопросов быть не может. Кусочек взял, кусочек сделал. 2. Выцепить из общего плана наиболее важные моменты. В моем случае таким моментом стала подсистема, определяющая внедренцев. Также распланировал общий план и многие вопросы сами собой отпали. 3. Кодинг. 4. Я пока еще не дошел. Таковы мои промежуточные выводы. Пока что я на стадии кодинга.
1
|
|
| 20.01.2016, 14:48 | |
|
Не по теме: gru74ik, а еще лучше: "помагите, поставили двойку в журнал - как хакнуть журнал и базу на С++"
0
|
|
| 20.01.2016, 20:29 | |
|
Не по теме: rikimaru2013, Это рабочее название, мы же о релизе уже думаем :)
0
|
|
| 20.01.2016, 20:31 | |
|
Не по теме: Nosey, "Как хакнуть журнал училки за 21 день".
0
|
|
| 20.01.2016, 20:49 | ||
|
Не по теме:
0
|
||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
| 21.01.2016, 00:19 [ТС] | ||||||
|
Я тут немного накодил. Не в С++, правда, но это не важно.
В общем. Наотрез отказываюсь от садизма. Не тот случай, где стоит набивать шишки. Файл использовать можно, но это катастрофически неразумно. Базы данных однозначно. Если кто-то это отрицает, то это печально. Шишки все равно будут. Но БД удобнее. Хотя описание таблицы в файл - по мне весьма интересный способ увидеть важные взаимосвязи разных таблиц. (учиться их видеть). Гораздо проще описать запрос выборки, чем регулярное выражение парсинга текста на сущности. Поскольку запрос читабельнее, то и корректировать его должно быть легче, наверное. Я имел небольшой опыт с запросами. Регулярки же удобны, но все-таки трудно читаются (с ними опыта не имел). Без БД придется писать интерфейс добавления, редактирования, удаления. Рост веса структуры в файле провоцирует сложность поддержки такого интерфейса. БД удобнее файлов постольку, поскольку при переходах на другие языки, в конечном итоге намного меньше проблем. А я ориентируюсь не только на C++. Во многих языках можно работать с БД одинаково, ибо БД она и есть БД, но гораздо реже можно одинаково работать с файловой системой и файлами. Это я по своему скромному опыту имел возможность пронаблюдать. Так что сейчас если кто-то хочет дать рекомандации, то я бы посмотрел на рекомендации работы с БД в С++ Mr.X, , я знаю, Вы мне сразу сказали об этом. Но сам по себе этот путь, который пока что мною проделан бесполезным в принципе быть не может.
0
|
||||||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||||
| 21.01.2016, 06:30 | ||||
|
1. Был придуман свой формат хранения структурированных данных. 2. Для его разбора были использованы регулярки. Можно было бы хранить данные в csv, json, xml или в чем-нибудь еще — трудозатрат на разбор стало бы меньше. Что само по себе, естественно, не делает набор обычных файлов полноценной БД со всеми вытекающими.
0
|
||||
| 21.01.2016, 06:32 | |
|
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|||
| 21.01.2016, 10:20 [ТС] | |||
|
Я обдумал и понял и сам пишу, что свой формат - садизм по отношению к себе. Кем допущены? Мною такие варианты были обдуманы, хотя мне и писали: "хватит думать", но не проделаны. Под кодингом я имел ввиду кодирование своего формата хранения. Это же тоже подвид кодинга. ________________ Я делаю на С++, а опыт изучения других языков говорит в пользу чего делать выбор. Это могут быть БД и могут быть готовые форматы (json,csv,xml). Хотя у меня есть один вопрос относительно готовых форматов и бд, только здесь ему точно не место. Мой маленький, живущий своей жизнью мир будет написан на С++ и работать в маленьком консольном окошке. (если у меня получится, конечно довести его до ума). Не торопитесь с выводами, друг мой.
0
|
|||
|
Модератор
|
|
| 21.01.2016, 11:54 | |
|
0
|
|
| 21.01.2016, 11:54 | |
|
Архитектура и проектирование приложения: ищу видео, статьи и книги с примерами реальных маленьких приложений Гради Буч: "Объектно-ориентированный анализ и проектирование с примерами приложений" Как происходит взаимодействие приложений с реализацией модели OSI? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|