Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 34

Выбор структуры сохранения данных

12.11.2015, 15:09. Показов 608. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
В целях обучения Java и смежных технологий решил написать клиент-серверное приложение (в данном топике затрагивается только малая часть) для мониторинга акций в магазинах.
Есть маленькое окно с выбором из JComboBox названия магазина и кнопкой для выполнения поиска акционных предложений. На основании выбора должен вернуться список (или массив?) адресов веб-страниц (их может быть разное количество) этого магазина. Этот список я передам в метод библиотеки Jsoup для парсинга, получу объект Product с инкапсуллированными данными названия, новой и старой ценами и периодом акции. Позднее вспомогательный класс запишет в БД, отобразит в таблице или сохранит в файл.
Проблема в том, что я не знаю как мне хранить списки адресов страниц. Создавать отдельные классы наследники абстрактного класса Shop для каждого магазина и возвращать объект типа Shop, а потом геттером получать список? Или сделать один класс Shop и возвращать статические объекты списков? Или держать все в связанных таблицах в БД? Как правильно с точки зрения ООП и чтобы потом легко было поддерживать? Вдруг я захочу потом добавить адреса магазинов и время работы? Проще хранить такие данные в классах или БД?
Буду очень благодарен за помощь!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.11.2015, 15:09
Ответы с готовыми решениями:

3 класса. Родительский класс - класс животных. Два класса наследника: Гиппопотамы и Зебры. Выбор структуры данных
Добрый День. Есть задача. Есть 3 класса. Родительский класс - это класс животных. Он абстрактный и содержит метод в котором считается...

Сохранение данных в документы. Выбор сохранения
Мне нужно сделать ограничение ввода. вводят >3-х или букв и символов , то выводится ошибка, и запрос на повторный ввод ! ПОМОГИТЕ ! ...

Выбор структуры данных
Здравствуйте. При выборе структуры данных возникли проблемы. Нужно хранить в типизированном файле тестовые задания. Сейчас структура...

5
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
12.11.2015, 15:20
Цитата Сообщение от driversti Посмотреть сообщение
Проще хранить такие данные в классах или БД?
данные сохраненные в классах будут потеряны после перезапуска программы.

Не хватайтесь за все сразу. Опишите какие классы будут у вас в программе. Нарисуйте связи между ними. Все это нарисуйте на листке бумаги прежде чем думать что писать и какую БД использовать.
0
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 34
12.11.2015, 15:35  [ТС]
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
Опишите какие классы будут у вас в программе. Нарисуйте связи между ними.
Я рисовал и загвоздка вышла в том, что я не знаю как и где хранить списки адресов страниц.
1. Есть класс Launcher - запускает отрисовку фрейма (допустим, MyFrame).
2. В MyFrame выбираем из списка магазин и жмем кнопку, чтобы сформировать удобное представление акционных товаров. Этим занимается класс, допустим, ShopParser. Но чтобы работать, предполагаю передать ему список нужных адресов страниц.
3. ShopParser получает список, парсит данные и формирует список объектов класса Product, который передает дальше.
4. А дальше объекты класса Product получает класс, который будет их оформлять или в БД, или в таблицу. Не столь важно.
Вот и получается, классов всего несколько, связи простые. Загвоздка где и как хранить список адресов на основании выбранного магазина, чтобы удобно было поддерживать, обновлять и получать.

Остальные операции я должен сделать. Вчера получил интересующие данные. Упаковать в Product и потом обрабатывать не проблема.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
12.11.2015, 17:03
driversti, покажите что нарисовали. UML коассов и схему БД
0
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 34
12.11.2015, 17:33  [ТС]
KEKCoGEN, я рисовал это чисто схематически на бумаге. UML ещё не пробовал никогда. Мне посоветовали хранить в файле типа txt или csv. БД по идее должна состоять из таблицы с ИД и названием сети супермаркетов. У неё отношение к таблице продукты как один ко многим (один супермаркет может иметь множество продуктов). Ещё посоветовали вынести период акции в отдельную таблицу (я пока не понял с каким отношением к другим таблицам). И тут я подумал, что к первой таблице можно присоединить таблицу с адресами страниц, так же в отношении один ко многим (супермаркету может принадлежать несколько страниц сайта с акциями).
Извините, если плохо объясняю свой замысел.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
12.11.2015, 21:36
driversti, вместо того чтобы писать много слов нарисовали бы уже схему бд и показали
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.11.2015, 21:36
Помогаю со студенческими работами здесь

Выбор структуры данных
Нужна ассоциативная структура, которая будет не строго упорядоченной (элементы должны лежать в порядке их вставки). + желательно, чтобы...

Выбор оптимальной структуры данных
Здравствуйте! Задача состоит в следующем. Есть большой файл (~68 mb) с текстом. Нужно посчитать сколько раз встречается каждое слово...

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

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

Выбор структуры данных для вставки, удаления и поиска минимума за log(n)
Добрый день!Подскажите какую нибудь структуру, чтобы были операции: вставка,удаление,и поиск минимума за log(n). Если найдутся исходники...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru