【问题标题】:How does Dart implement cross-cutting concerns?Dart 如何实现横切关注点?
【发布时间】:2014-02-07 09:54:25
【问题描述】:

大多数开发人员都会承认,实现横切关注点(例如日志记录、审计、安全性和事务性)会对业务逻辑实现产生不利影响。这些关注点“似乎”增加了现有业务逻辑的复杂性,有时甚至很难将业务逻辑与横切关注点实现区分开来。

Dart 如何处理这个问题?如果它目前没有任何机制来解决这个问题,是否有计划引入一种方法来实现横切关注点?

谢谢。

【问题讨论】:

  • 这是不可能的,因为编写这样的软件需要大量的时间和精力。由于某些原因,没有人表示愿意这样做(包括 Dart 团队)。

标签: web programming-languages dart separation-of-concerns cross-cutting-concerns


【解决方案1】:

不太确定这里问的是什么;但是使用 Transformers 你可以重写代码(这就是 dart2js 和 Polymer 的工作方式)。但是,它不允许您更改任何语法。

例如,您可以编写一个检测到@log 注释的转换器,然后注入代码以记录该方法已被调用。或者您可以创建一个@protected 注释并注入权限检查代码。

除了变形金刚,我不相信有任何内置的;但我确实怀疑他们会在这方面增加很多灵活性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-05
    • 2011-08-01
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多