问题标签 [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.
reactjs - 在单个 npm 包中创建 React 和 React Native 组件
是否有可能创建一个组件,存在于单个 npm 包中,在 React 和 React Native 中都可以使用?
我创建了组件的两种变体(View
vsdiv
等),一种用于 Web,另一种用于 React Native。我可以轻松地使用构建脚本或类似 preprocessor.js 的东西来构建库的 react 或 react-native 输出,但有更好的方法吗?
有没有人幸运地构建了一个组件,您可以简单地npm install
进入一个反应或反应本机项目并让它使用正确的实现?或者我会有一个问题,即我的react
和react-native
依赖项都存在package.json
?谢谢!
spring - 为什么在 Spring 中使用 AOP 进行事务管理?
我正在学习AOP
并开始知道这对于关注点分离很有用,例如logging
,transaction management
等security
。
到目前为止很高兴知道AOP
。
现在,我阅读了Spring 框架中的Spring 事务管理,我们可以有注解@Transactional
。
正是这一点让我感到困惑,为什么我们应该使用AOP
我们必须创建Aspects
的而不是使用 Spring 提供的注解。
例如:
既然 Spring 已经有了事务相关的功能,那为什么还要用AOP
它来做事务管理呢?
如果我们使用AOP
,那么我们不必创建Aspect
和创建advice
将作用于方法的吗?这不是让我们做手工工作,而不是由spring框架本身通过它自己的注释来处理它。
任何人都可以帮助我理解我无法清楚理解的这一点。
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 的考虑被排除在外,因为它不是免费的。
android - 使用 MVVM 架构。解决交叉问题的最佳方法是什么?
在android中使用MVVM架构,解决横切关注点的最佳方法是什么。
例如
- 如果需要,即使在屏幕唤醒时也会显示登录屏幕,因为它已经在后台很长时间了。
- 处理来自服务器的错误。
- 在创建活动之前检查是否经过身份验证。
aop - Spring AOP 中切面、关注点和横切关注点的区别
任何人都可以通过示例解释 Spring AOP 中的方面、关注点和横切关注点之间的区别吗?我浏览了很多教程网站,但没有得到任何好的解释。
design-patterns - 跟踪跨分布式/传统系统的数据流
我有 2 个微服务 [A,B],服务 [B] 与遗留系统 [C] 集成。服务 [B] 通常会生成唯一标识符并将其包含在流中到 [C] 中,也将其传递回 [A]。以这种方式在系统之间处理协调。
当需要 [A] 必须并行调用以通知 [C] 的服务 [D] 时,问题才真正开始。
虽然让 [A] 生成唯一标识符并将其发送给 [B] 和 [D] 以解决问题是有意义的,但由于 [C] 中的更改成本,这并不容易。所以我们仍然需要以某种方式让 [B] 的唯一标识符可用于 [D] 以结合 [C] 中的数据。
如果有解决此问题的战术模式,是否有人可以指导我。
design-patterns - 配置是否被视为横切关注点?
标题说得差不多了。我看到有时人们将配置称为横切关注点,但其他人却没有。所以我想知道这是否真的是一个跨领域的问题。
因为我想知道是否应该在每个级别中注入配置。每个类或方法不应该只访问它需要的配置吗?在每个只需要一小部分配置的类中注入配置不是一种反模式吗?
asp.net-core - .NET CORE - DDD + 横切 + 外部 API
我正在使用 DDD、IoC、CrossCutting 开发一个 .NET Core 项目。
CrossCutting.IoC项目,负责注册项目依赖和执行控制反转功能,该项目有其他项目的参考。
现在需要通过调用外部 API 来进行外部集成。我不想逃避设计模式。
以下哪项是正确的:
- 使用接口与 IoC 集成和注册
- 创建一个名为 CrossCutting.Integration 的项目
- 没有一个选项。什么是最好的选择?
c# - 记录 AOP 方式和自定义消息
我正在尝试使用 AutofacIInterceptor
提供的接口将日志记录功能实现到我的应用程序中Autofac.Extras.DynamicProxy
。这是我到目前为止得到的。
应记录其操作的服务:
我的IInterceptor
实现:
显示其用法的测试:
结果:
我习惯于输出消息(用于调试控制台和文本文件),这些消息向我展示了我的应用程序中发生了什么。诸如“SomeService 已导出 42 个项目”或“AnotherService 已将 20 个项目读取到数据库”之类的内容。
现在我想知道如何在不必在ILogger
任何地方再次注入我的实例的情况下模仿这种行为。就我们可以提供的消息而言,AOP 方式的日志记录是一种静态的。
我希望它清楚我想要达到的目标。
java - Spring AOP:在方法之间交换信息
假设我有一个名为 的类MyServlet
,其目的是响应用户请求:
一般来说,在我们尝试调试我们的应用程序之前,服务用户的请求可能是我们想要记录的内容。因此,如果我能在accept()
被调用之前让这种行为透明地发生,我会非常喜欢它。对于这个人,一个Helper
类可以提供一个日志功能,我们将用以下方式装饰它@Before
:
但是,能够获取提供给accept()
(在本例中为 aString
和 an int
)的信息并将其传递给 对我来说真的很有用log()
,因为它允许我将用户及其 ID 准确地记录到任何日志存储中我用。我怎样才能做到这一点?