Итак. Есть объектная модель, состоящая из сотни классов в которых присутствуют свойства и методы. Задача. Надо отображать и редактировать объекты этой модели.
Строим универсальный браузер. Используем Reflection.
В атрибуты классов, свойств и методов добавляем их наименования и описания на всех нужных нам язывах.
Опционно добавляем варианты возможных значений, диапазон допустимых значений для проверки.
И наконец, для построения красивой таблицы свойств объекта необходимо добавить идентификаторы иконок и идентификаторы контролов.
Всё. на основе перечисленной метаинформации можно построить таблицу свойств для любого объекта из модели.
Также на основе неё, можно построить тулбары и меню.
Результат просто потрясающий. то, что написано для одного базового класса работает для объектов всех классов.
Если классов 100, то объём работ сокращается в 100 раз. В 100 раз меньше кода, в 100 раз меньше мест для ошибок.
Вся метаинформация аккуратно и компактно лежит в одном месте.
Что вы об этом думаете? Меня интересуют критические замечания об этом подходе как теоритического так и практического характера.