Цитата:
Сообщение от
Кирилл
Если класс не найден в ней, то автоматом заполнить таблицу с помощью перебора extendedBy(), если не помогло, то выкинуть ошибку.
Не не. Лучше сразу выкидывать ошибку. А для поиска новых классов сделать отдельную переодическую операцию. В противном случае процесс создания экземпляра класса становится не детерминированным. Сегодня всё работает быстро, а завтра начинаются тормоза или вообще ошибки вырастают на ровном месте. Для не искушённого пользователя такие перепады "настроения" системы сложно как-то оправдать. Чем прозрачнее процесс, тем проще его контролировать.
Цитата:
Сообщение от
dech
Создание класса будет работать дико медленно. Ребят, вам что жалко construct() допилить? Вам что важнее, скорость или эстетство?
Угу.
Отказ от протягивания динамических связей в пользу статического метода construct приводит к ещё более прозрачному процессу. В конце концов появление новых классов потомков у вас же не поставленно на поток и не происходит автоматически?
Конечно необходимость внесения изменений в construct родительского класса при появленим очередного потомка вносит некоторые неудобства в процесс слияния нескольких модификаций. К слову, в AX20012 появилась возможность вешать свои обработчики на событие вызова метода, без изменения самого метода. Это должно помочь избежать описанных неудобств.