Как Dart реализует сквозные задачи?

Большинство разработчиков признают, что реализация сквозных задач, таких как ведение журналов, аудит, безопасность и транзакционность, может отрицательно сказаться на реализации бизнес-логики. Такие проблемы «кажутся» усложняющими существующую бизнес-логику, иногда делая трудным, если не невозможным, четкое отличие бизнес-логики от сквозной реализации задач.

Как Dart справляется с этим? Если в настоящее время у него нет никакого механизма для решения этой проблемы, есть ли планы ввести способ реализации сквозных проблем?

Спасибо.


person user224567893    schedule 07.02.2014    source источник
comment
Это невозможно, потому что для того, чтобы написать такое программное обеспечение, требуется много времени и усилий. По некоторым причинам никто не изъявил желания это сделать (включая Dart Team).   -  person mezoni    schedule 08.02.2014


Ответы (1)


Не совсем уверен, что здесь спрашивают; но с помощью Transformers вы можете переписать код (так работают dart2js и Polymer). Однако это не позволит вам изменить какой-либо синтаксис.

Например, вы можете написать преобразователь, обнаруживающий аннотацию @log, а затем внедрить код для регистрации вызова метода. Или вы можете создать аннотацию @protected и внедрить код проверки разрешений.

Кроме трансформаторов, я не думаю, что есть что-то встроенное; но я подозреваю, что они добавят большую гибкость в этой области.

person Danny Tuppeny    schedule 14.09.2014