Вообще это все веб, но читайте дальше и станет понятно что в контексте вопроса раздел девелопмент выбран верно.
У пользака есть форма с различными элементами для фильтрации результатов выборки. Эта форма различными комбинациями значений должна выдавать ЧЕТЫРЕ различных по структуре результата.
Каждый из четырех разных результатов выдает две таблицы: сводную таблицу и таблицу детализации. Разница результатов в том, что состав и кол-во ячеек в этих таблицах — разные.
Кроме того, для визуализации данных в ячейках таблицы используется форматирование, т.е. вместо реального значения показывается инфа визуально понятная или удобная манагеру.
Например для х = 1 в какой-то ячейке значение «х» это индекс из массива [Вася,Петя,Маша] и мы показываем в ячейке не «1» а «Петя». Или форматируем номер телефона из «71234567890» к виду «+7 (123) 456-78-90».
Сводная же таблица для какой-то там своей ячейки должна суммировать значения какого-то там конкретного ряда (реальных значений) из таблицы детализации. Или вычислить AVG, или показать кол-во уникальных значений. Ну и опять же форматировать к манагерскому виду.
И вот я вижу два варианта запила:
1) На каждый из четырех вариантов результатов пишем четыре отдельные захардкоженных окружения (вьюха, обработчики, каллбеки).
2) Пишем один раз шляпу которая принимает только некие декларации в зависимости от типа результата и сама генерит все эти таблицы используя нужные обработчики и прочее.
В реальности сейчас работает только два варианта и там в коде собом и гомора. И вот сейчас я должен либо разобрать говно в двух и дописать еще два новых. Ну или написать один универсальный.
И хотя я сейчас могу сказать с 99% уверенностью «Ну вот эти четыре это уже все, больше других не будет». Но внутренний голос говорит мне: видимо это будет как и в тот раз когда кому-то сказали про существующие сейчас два ))
Так вот вопрос. Какой вариант правильный и почему?