大多数开发人员都会承认实现横切问题(如日志记录、审计、安全性和事务性)会对业务逻辑实现产生不利影响。这些关注"似乎"增加了现有业务逻辑的复杂性,有时使得很难(如果不是不可能的话)将业务逻辑与跨领域关注点实现区分开来。
达特是如何处理这个问题的?如果它目前没有任何机制来解决这个问题,是否有计划引入一种实施跨领域问题的方法?
谢谢。
不太确定这里问的是什么;但是使用变形金刚,你可以重写代码(这就是dart2js和Polymer的工作方式)。但是,它不允许您更改任何语法。
例如,您可以编写一个检测到@log
批注的转换器,然后注入代码以记录该方法被调用。或者,您可以创建@protected
注释并注入权限检查代码。
除了变压器,我不相信有什么内置的;但我确实怀疑它们会在这个领域增加很多灵活性。