Диаграмма классов для рекламной системы

Итак, я создал диаграмму классов в соответствии с заданием, это правильный способ сделать это? Я особенно не уверен в Column class потому что мне кажется, что это может быть просто переменной.

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

Необходимо учитывать, что каждая рекламная система имеет разную структуру отчета: разные именованные столбцы, разный порядок столбцов, разные форматы даты. Также данные из рекламных систем имеют разные форматы данных (JSON,CSV,XML),

Отчеты из каждой системы содержат различное количество столбцов, наше приложение интересует только некоторые из них: дата, ad_campaing, ad_group, ключевое слово, показы, цена (в каждой системе они имеют разные названия)

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

1 ответ

Я предполагаю, что вам нужно создать диаграмму классов для моделирования исходного кода, который будет написан с использованием объектно-ориентированного языка. Я думаю, что лучший подход - создать класс адаптера для каждого конкретного типа отчета (т. Е. Для каждой отдельной рекламной системы). Каждый класс адаптера реализует универсальный интерфейс (или абстрактный базовый класс) для загрузки своего конкретного типа отчета. Вот моя диаграмма. Я нарисовал три адаптера, но их может быть больше или меньше.

введите описание изображения здесь

Если вы ожидаете, что несколько рекламных систем доставляют данные в общем формате, например CSV, в то время как отличаются только имена столбцов, вы можете создать общий CSV_ReportLoader, который считывает сопоставление имен столбцов из файла конфигурации (или объекта конфигурации).

Другие вопросы по тегам