Skip to content

zkhrg/cpp-objects-grouper

Repository files navigation

cpp-objects-grouper

Использованные технологии и паттерны:

  • Технологии C++/Qt/Sqlite(grouping and storing)
  • Паттерны MVC/Отделение интерфейсами для инверсии зависимостей

Установка

qmake
make

Представление

  • Ниже приведено стартовое окно, в котором нужно выбрать файл в нужном формате (я использовал .csv с разделением пробелами)
    image

  • Выбор файла для тестового запуска


image
  • Главное окно программы

image
  • Посредине выводятся элементы в нужных группировках из задания по 20 штук.
  • Реализована пагинация по страницам для корретного отображения
  • Сохранение текущей страницы в plain text
  • Смена файла-источника.
  • По нажатию на нужный пункт в ComboBox получим нужное группирование и сортировку по возрастанию.

Несколько слов о принятых решениях в реализации

  • Использовать SQL гибкое и практичное решение.
  • Инциализация отдельных модулей в main.cpp делает программу более гибкой, ведь мы можешь заменить хранилище, или например парсер и все продложит работать
  • Отображение с пагинацией сделано для того чтобы программа не завершалась некорректно при большом количестве записей

Из того что не успелось

  • Динамически задавать размер групп для группировки по типу
  • Считать дистанции не от 0, а от заданной пользователем точки
  • Эстетично и практично оформить хранение SQL запросов в коде
  • Пристально не профилировал, возможны утечки во view

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published