Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
А для иллюстрации эффективности подхода, могу сказать, что внедрение его во множестве живых проектов позволило повысить эффективность разработки в десятки раз, например, создавать приложения баз данных со структурой в несколько сотен таблиц за неделю и портировать решения между платформами за считанные часы.
Для задач с динамической предметной областью характерным является не только то, что мы заранее не знаем тип переменной (объекта, класса, выражения, константы, функции), но этот тип может быть даже неизвестен во время компиляции
но для ее динамической интерпретации, т.е. для преобразования ее в модель предметной области
Какими уровнями абстракции оперируют (аналитики?) вашего НИИ при разработке коммерческих продуктов, и каким образом вам удается использовать повторно метаданные и целый подсистемы.
Почему для задач, где количество классов обрабатываемых объектов сравнимо с количеством их экземпляров, необходимо использовать принципиально другой подход?
Связывание по зашитым в программный код идентификаторам — неизбежно, и будет присутствовать и в виртуальной машине и в коде метамоделей.
Уже говорил, что динамическая типизация и интроспекция — не обязательны. Обязательным считаю динамическое определения формата, но не типа.
Смешивание предметной области и системных задач в одном классе — просто низкокачественный код, и является сложностью для любых модификаций.
Я бы, как главную сложность повышения уровня абстракции, назвал бы построение метамодели, которую можно было бы минимальными усилиями использовать в различных моделях предметных областей.
Динамическая интерпретация метамоделей