You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Clean架构中高频使用的接口实现应放置于何处?

在Clean架构中放置加密解密实现的合理位置

你的判断是对的:INestedRequestObjectEncryptor接口定义在Application层符合Clean架构的设计,因为它是业务流程依赖的能力抽象。关于实现的放置,你可以参考以下方案:

  • 排除Core层:Core层作为纯业务逻辑核心,不应该依赖任何外部NuGet包或框架,所以需要第三方加密库的实现绝对不能放在这里。
  • Infrastructure层是合适的选择:很多人误解Infrastructure层只负责数据访问,实际上它的核心职责是封装所有与外部系统、第三方依赖的交互——包括数据库操作、API调用、加密服务、文件IO等。你的加密解密实现依赖外部NuGet包,属于“外部依赖封装”范畴,完全适合放在Infrastructure层。可以给实现类起一个明确的名字,比如AesNestedRequestObjectEncryptor(根据实际使用的加密算法命名)。
  • 特殊情况:与Web层强绑定的处理:如果你的加密解密逻辑是针对HTTP请求/响应的特定定制(比如直接操作Request/Response对象),也可以考虑在Web层(如你的API项目)中创建实现类,但要确保这个实现依然依赖Application层的INestedRequestObjectEncryptor接口,保持依赖方向符合Clean架构的“内层定义抽象,外层实现抽象”原则。

最终推荐优先选择Infrastructure层存放实现,然后在依赖注入容器中完成接口与实现的绑定,让Application层或Web层通过接口调用加密解密能力。

内容的提问来源于stack exchange,提问作者Szyszka947

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 02:45:35