Я занимаюсь разработкой информационной панели для отображения корпоративных показателей (в настоящее время с ASP.net 3.5 в C #) и ищу советы по дизайну. Я не так привык к ООП в веб-приложениях.
Может быть много разных показателей, которые могут видеть разные пользователи в отношении «многие ко многим». Я храню пользователей в локальной базе данных SQL, и, конечно, имеет смысл хранить метаданные для каждой «Метрики». Это также обеспечивает своего рода список контроля доступа для каждого. Каждая метрика может иметь несколько разных диаграмм, имеющих разный дизайн (столбцы, столбцы, круговые диаграммы, линии или комбинации из них с разными сериями на разных осях Y и т. Д.).
Эти диаграммы могут быть разработаны программно, а затем добавлены на страницу ASP.net во время выполнения. Было бы неплохо иметь структуру наследования суперкласса пустых диаграмм и различных типов диаграмм, которые расширяют это.
На странице будут выбраны графики, которые данный пользователь имеет право просматривать, а затем сгенерированы те. Тем не менее, я вижу какой-то большой оператор switch в виде грубой таблицы поиска для соответствующего подкласса, который создается на основе информации, выбранной в базе данных.
Есть ли более художественный способ сделать это? Каким-то образом предоставить объявление типа во время выполнения? Должен ли я перенести всю информацию о стилях диаграмм в базу данных и иметь дополнительные таблицы и столбцы для рядов, точек данных, цветов и т. Д., Где один класс диаграммы выполняет все необходимые запросы и создает диаграмму? Спасибо.