Александр Кривошлык
← Все кейсы

Аналитические desktop-приложения

Переносимый модуль формирования отчётов

Разработал модуль DOCX/XLSX/PDF-отчётов с таблицами, графиками и пользовательскими настройками. Реализацию целиком перенесли в другой проект.

Задача

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

Моя ответственность

Спроектировал и реализовал независимый модуль отчётности на Builder pattern и Apache POI.

Результат

Создан независимый модуль отчётности. Другой отдел целиком подключил его к своему проекту и продолжил развивать самостоятельно.

От настроек к документу

Отчёт должен поддерживать разные конфигурации, таблицы и графики. Добавил пользовательские настройки размеров шрифтов и цветов.

Общая архитектура на Builder

Декомпозировал формирование документов с помощью Builder pattern и отделил модуль от предметных компонентов исходного приложения.

Данные + настройкиТаблицы, графики, оформление
BuilderСборка конфигурации отчёта
Apache POI → DOCXWord-документ → отдельный конвертер → PDF
Apache POI → XLSXЭлектронная таблица
Пути формирования документов. Apache POI создаёт DOCX и XLSX; PDF получается конвертацией Word-документа, не средствами Apache POI.

Переиспользование и результат

Другой отдел целиком подключил модуль без зависимостей от исходного desktop-продукта и позднее развивал его самостоятельно.

Новые конфигурации создавались на общей архитектурной основе. Подтверждённый результат — пользовательские настройки и фактическое повторное использование кода другой командой. Численная метрика сокращения времени разработки не сохранилась.