|
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 34
|
|
Выбор структуры сохранения данных12.11.2015, 15:09. Показов 608. Ответов 5
Метки нет (Все метки)
Здравствуйте!
В целях обучения Java и смежных технологий решил написать клиент-серверное приложение (в данном топике затрагивается только малая часть) для мониторинга акций в магазинах. Есть маленькое окно с выбором из JComboBox названия магазина и кнопкой для выполнения поиска акционных предложений. На основании выбора должен вернуться список (или массив?) адресов веб-страниц (их может быть разное количество) этого магазина. Этот список я передам в метод библиотеки Jsoup для парсинга, получу объект Product с инкапсуллированными данными названия, новой и старой ценами и периодом акции. Позднее вспомогательный класс запишет в БД, отобразит в таблице или сохранит в файл. Проблема в том, что я не знаю как мне хранить списки адресов страниц. Создавать отдельные классы наследники абстрактного класса Shop для каждого магазина и возвращать объект типа Shop, а потом геттером получать список? Или сделать один класс Shop и возвращать статические объекты списков? Или держать все в связанных таблицах в БД? Как правильно с точки зрения ООП и чтобы потом легко было поддерживать? Вдруг я захочу потом добавить адреса магазинов и время работы? Проще хранить такие данные в классах или БД? Буду очень благодарен за помощь!
0
|
|
| 12.11.2015, 15:09 | |
|
Ответы с готовыми решениями:
5
Сохранение данных в документы. Выбор сохранения Выбор структуры данных |
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 12.11.2015, 15:20 | ||
|
Не хватайтесь за все сразу. Опишите какие классы будут у вас в программе. Нарисуйте связи между ними. Все это нарисуйте на листке бумаги прежде чем думать что писать и какую БД использовать.
0
|
||
|
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 34
|
||
| 12.11.2015, 15:35 [ТС] | ||
|
1. Есть класс Launcher - запускает отрисовку фрейма (допустим, MyFrame). 2. В MyFrame выбираем из списка магазин и жмем кнопку, чтобы сформировать удобное представление акционных товаров. Этим занимается класс, допустим, ShopParser. Но чтобы работать, предполагаю передать ему список нужных адресов страниц. 3. ShopParser получает список, парсит данные и формирует список объектов класса Product, который передает дальше. 4. А дальше объекты класса Product получает класс, который будет их оформлять или в БД, или в таблицу. Не столь важно. Вот и получается, классов всего несколько, связи простые. Загвоздка где и как хранить список адресов на основании выбранного магазина, чтобы удобно было поддерживать, обновлять и получать. Остальные операции я должен сделать. Вчера получил интересующие данные. Упаковать в Product и потом обрабатывать не проблема.
0
|
||
|
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
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 12.11.2015, 21:36 | |
|
driversti, вместо того чтобы писать много слов нарисовали бы уже схему бд и показали
0
|
|
| 12.11.2015, 21:36 | |
|
Помогаю со студенческими работами здесь
6
Выбор структуры данных Выбор оптимальной структуры данных Морской бой. Выбор структуры данных Выбор структуры базы данных. Нужно ваше мнение Выбор структуры данных для вставки, удаления и поиска минимума за log(n) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
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, то после закрытия окошка. . .
|