问题标签 [cross-cutting-concerns]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
70 浏览

reactjs - 在单个 npm 包中创建 React 和 React Native 组件

是否有可能创建一个组件,存在于单个 npm 包中,在 React 和 React Native 中都可以使用?

我创建了组件的两种变体(Viewvsdiv等),一种用于 Web,另一种用于 React Native。我可以轻松地使用构建脚本或类似 preprocessor.js 的东西来构建库的 react 或 react-native 输出,但有更好的方法吗?

有没有人幸运地构建了一个组件,您可以简单地npm install进入一个反应或反应本机项目并让它使用正确的实现?或者我会有一个问题,即我的reactreact-native依赖项都存在package.json?谢谢!

0 投票
1 回答
2722 浏览

spring - 为什么在 Spring 中使用 AOP 进行事务管理?

我正在学习AOP并开始知道这对于关注点分离很有用,例如logging,transaction managementsecurity

到目前为止很高兴知道AOP

现在,我阅读了Spring 框架中的Spring 事务管理,我们可以有注解@Transactional

正是这一点让我感到困惑,为什么我们应该使用AOP我们必须创建Aspects的而不是使用 Spring 提供的注解。

例如:

既然 Spring 已经有了事务相关的功能,那为什么还要用AOP它来做事务管理呢?

如果我们使用AOP,那么我们不必创建Aspect和创建advice将作用于方法的吗?这不是让我们做手工工作,而不是由spring框架本身通过它自己的注释来处理它。

任何人都可以帮助我理解我无法清楚理解的这一点。

0 投票
3 回答
4053 浏览

c# - 带有 Microsoft.Extensions.DependencyInjection 和 asp.net web api 2 的拦截器,用于横切关注点,例如日志记录

我们在我们的 asp.net web api2 中使用 Microsoft.Extensions.DependencyInjection 进行依赖注入。

对于像日志这样的横切关注点,我们认为应该考虑面向方面的编程,在上面的 di 中找不到任何支持。

其他 DI,如 castle、Unity 和 ninject,在查看他们的基准后选择退出。有没有办法使用其他 di 框架的注入器,如城堡动态代理并将其与 Microsoft.Extensions.DependencyInjection 一起使用?

也欢迎任何与 IL 编织框架相关的建议。PostSharp 的考虑被排除在外,因为它不是免费的。

0 投票
2 回答
217 浏览

android - 使用 MVVM 架构。解决交叉问题的最佳方法是什么?

在android中使用MVVM架构,解决横切关注点的最佳方法是什么。


例如

  • 如果需要,即使在屏幕唤醒时也会显示登录屏幕,因为它已经在后台很长时间了。
  • 处理来自服务器的错误。
  • 在创建活动之前检查是否经过身份验证。
0 投票
1 回答
492 浏览

aop - Spring AOP 中切面、关注点和横切关注点的区别

任何人都可以通过示例解释 Spring AOP 中的方面、关注点和横切关注点之间的区别吗?我浏览了很多教程网站,但没有得到任何好的解释。

0 投票
1 回答
54 浏览

design-patterns - 跟踪跨分布式/传统系统的数据流

我有 2 个微服务 [A,B],服务 [B] 与遗留系统 [C] 集成。服务 [B] 通常会生成唯一标识符并将其包含在流中到 [C] 中,也将其传递回 [A]。以这种方式在系统之间处理协调。

当需要 [A] 必须并行调用以通知 [C] 的服务 [D] 时,问题才真正开始。

虽然让 [A] 生成唯一标识符并将其发送给 [B] 和 [D] 以解决问题是有意义的,但由于 [C] 中的更改成本,这并不容易。所以我们仍然需要以某种方式让 [B] 的唯一标识符可用于 [D] 以结合 [C] 中的数据。

如果有解决此问题的战术模式,是否有人可以指导我。

0 投票
0 回答
61 浏览

design-patterns - 配置是否被视为横切关注点?

标题说得差不多了。我看到有时人们将配置称为横切关注点,但其他人却没有。所以我想知道这是否真的是一个跨领域的问题。

因为我想知道是否应该在每个级别中注入配置。每个类或方法不应该只访问它需要的配置吗?在每个只需要一小部分配置的类中注入配置不是一种反模式吗?

0 投票
1 回答
344 浏览

asp.net-core - .NET CORE - DDD + 横切 + 外部 API

我正在使用 DDD、IoC、CrossCutting 开发一个 .NET Core 项目。

CrossCutting.IoC项目,负责注册项目依赖和执行控制反转功能,该项目有其他项目的参考。

现在需要通过调用外部 API 来进行外部集成。我不想逃避设计模式。

以下哪项是正确的:

  1. 使用接口与 IoC 集成和注册
  2. 创建一个名为 CrossCutting.Integration 的项目
  3. 没有一个选项。什么是最好的选择?
0 投票
1 回答
42 浏览

c# - 记录 AOP 方式和自定义消息

我正在尝试使用 AutofacIInterceptor提供的接口将日志记录功能实现到我的应用程序中Autofac.Extras.DynamicProxy。这是我到目前为止得到的。

应记录其操作的服务:

我的IInterceptor实现:

显示其用法的测试:

结果:

我习惯于输出消息(用于调试控制台和文本文件),这些消息向我展示了我的应用程序中发生了什么。诸如“SomeService 已导出 42 个项目”或“AnotherService 已将 20 个项目读取到数据库”之类的内容。

现在我想知道如何在不必在ILogger任何地方再次注入我的实例的情况下模仿这种行为。就我们可以提供的消息而言,AOP 方式的日志记录是一种静态的。

我希望它清楚我想要达到的目标。

0 投票
1 回答
31 浏览

java - Spring AOP:在方法之间交换信息

假设我有一个名为 的类MyServlet,其目的是响应用户请求:

一般来说,在我们尝试调试我们的应用程序之前,服务用户的请求可能是我们想要记录的内容。因此,如果我能在accept()被调用之前让这种行为透明地发生,我会非常喜欢它。对于这个人,一个Helper类可以提供一个日志功能,我们将用以下方式装饰它@Before

但是,能够获取提供给accept()(在本例中为 aString和 an int)的信息并将其传递给 对我来说真的很有用log(),因为它允许我将用户及其 ID 准确地记录到任何日志存储中我用。我怎样才能做到这一点?