AST Transformations реализованы в Groovy. Какой практический пример использования трансформации АСТ?Groovy - AST Transformations, практический пример
ответ
This page имеет практические примеры того, как использовать: @Singleton, @Lazy, @Immutable, @Delegate, @Newify, @Category, @Mixin, @PackageScope
Большинство практических примеров использования преобразований AST приведены на этой странице. Я часто использовал @Delegate для делегирования другому классу или @Lazy для ленивой загрузки. @Grab отлично подходит для вытягивания зависимостей из репозитория Maven/плющ. Все они основаны на трансформациях AST и являются частью основного языка.
Вы можете использовать преобразования напрямую, но большая часть материала, который вы хотите, для них уже построена. Вы можете делать то, что вы, возможно, захотите сделать с AOP на других языках.
Сценарии как:
- Проверка авторизации - проверка путем проверки роли из контекста
- Печать Значения параметров, с которыми вызван метод
- Утверждения Параметры не имеют нулевой или какой-либо проверки
- Проверить различное начальное условие/предварительных условия метода
- Generic АОП стиль реализация BeforeMethod()
- Создать метод и пометить его для работы в качестве работоспособного или основного метода
Взгляни на мой блог на AST AOP и AST Param not null
Надеюсь, это поможет!
Это полезные сообщения в блоге – boardtc