Language agnostic AOP和用户特定数据存储
我已经使用AOP来实现“经典”功能,比如日志记录和安全性,有一段时间了,现在我开始更进一步 我在桌面应用程序中经常遇到的一个问题是需要在本地存储特定于用户的数据。为此,我构建了一个适合我的组件,该组件将数据作为XML存储在LocalApplicationData文件夹的特定于应用程序的子文件夹中(在Windows上,但该概念适用于任何操作系统) 每个应用程序都需要存储自己的数据,但我还构建了一个代码库,其中几个组件也需要存储数据 我可以采取的一种方法是将需要本地存储服务的每个组件与本地存储的实现紧密耦合。但是,更改本地存储引擎的接口将非常昂贵Language agnostic AOP和用户特定数据存储,language-agnostic,aop,Language Agnostic,Aop,我已经使用AOP来实现“经典”功能,比如日志记录和安全性,有一段时间了,现在我开始更进一步 我在桌面应用程序中经常遇到的一个问题是需要在本地存储特定于用户的数据。为此,我构建了一个适合我的组件,该组件将数据作为XML存储在LocalApplicationData文件夹的特定于应用程序的子文件夹中(在Windows上,但该概念适用于任何操作系统) 每个应用程序都需要存储自己的数据,但我还构建了一个代码库,其中几个组件也需要存储数据 我可以采取的一种方法是将需要本地存储服务的每个组件与本地存储的实现
这个问题域很适合AOP吗?有更好的方法吗?是否存在我没有看到的陷阱?我真的没有看到交叉关注点,这会使AOP解决这个问题
只需定义一个用于存储信息的小API。让您的库实现该接口。把所有东西与Spring、任何DI工具或手动粘合代码放在一起,你就完成了。我知道你把语言放在了不可知的位置,但语言会很重要,因为Java对AOP的支持要比C#好得多。但是,如果您使用的是Spring,那么它可能没有那么重要。在java中,这会容易得多。