Использование Mendix Business Modeler для создания веб-приложений принципиально отличается от разработки веб-приложений с использованием таких технологий, как Java/Spring/JSF. Но я попытаюсь сравнить их ради этого вопроса:
В приложении на основе Java/Spring я могу интегрировать свое приложение со сторонним продуктом Ehcache для кэширования данных на уровне метода. Например, я могу настроить ehcache для хранения возвращаемого значения для данного метода (с определенным временем жизни). Всякий раз, когда вызывается этот метод, ecache автоматически проверяет, вызывался ли этот метод ранее с теми же параметрами, и есть ли сохраненное возвращаемое значение в кеше. Если это так, метод фактически никогда не выполняется, а вместо этого немедленно возвращается кэшированное возвращаемое значение метода.
Я хотел бы иметь такие же возможности в Mendix, но в этом случае я бы кэшировал возвращаемые значения Microflow. Кроме того, я не хочу, чтобы меня заставляли повсюду добавлять действия, явно указывающие Microflow проверять кеш. Я хотел бы зарегистрировать свои микропотоки для кэширования в одном централизованном месте или просто пометить каждый микропоток как кэшируемый. Другими словами, этот вопрос относится как к концепции аспектно-ориентированного программирования (АОП) в Mendix, так и к кэшированию: есть ли способ получить перехватчики в вызове Microflow, чтобы я мог применять операции до и после выполнения? На мой взгляд, те же причины, по которым АОП имеет свое место в Java, существуют и в Mendix.