port-adapter-designer
设计 Rust 端口和适配器边界
外部服务可能会将基础设施关注点泄漏到领域代码中。此技能帮助设计 Rust trait 和适配器,使依赖保持隔离且易于测试。
使用我的智能体安装
将此请求复制给你的智能体,其中包含权威 Skill 页面和清单。
Review the Skillstore skill "port-adapter-designer" from https://skillstore.io/skills/emillindfors-port-adapter-designer.md and its manifest at https://skillstore.io/api/skills/emillindfors-port-adapter-designer/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.你的智能体仍应展示其计划,并按安全策略请求必要确认。
Agent 可读资源
当 AI Agent、爬虫或脚本需要干净上下文,而不是读取完整页面时,请使用这些链接。
测试它
正在使用“port-adapter-designer”。 一个 Rust 服务从领域逻辑中直接调用 SQLx 查询。
预期结果:
该技能会识别仓储端口、PostgreSQL 适配器、内存测试适配器以及领域错误映射。
正在使用“port-adapter-designer”。 一个支付工作流需要 Stripe 集成,同时不让领域层耦合到 reqwest。
预期结果:
该技能会提出支付网关端口、Stripe 适配器大纲、错误类别和测试替身指导。
正在使用“port-adapter-designer”。 一个通知功能现在必须支持电子邮件,之后还要支持 SMS。
预期结果:
该技能建议一个聚焦的通知端口,并为每个提供商使用单独适配器和共享领域结果。
安全审计
安全All static findings were adjudicated as false positives tied to Markdown Rust examples or normal adapter design text. No evidence found of executable commands, live network behavior by the skill, credential exfiltration, obfuscation, or prompt injection. The skill declares only Read and Grep tools.
风险因素
分享与引用此报告
分享版本化评估报告、中性徽章、嵌入卡片和引用。Skillstore 只报告证据,不判断该 Skill 是否安全。
复制报告链接
https://skillstore.io/skills/emillindfors-port-adapter-designer/audits/4?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportMarkdown 徽章
[](https://skillstore.io/skills/emillindfors-port-adapter-designer?utm_source=security_passport_badge)HTML 徽章
<a href="https://skillstore.io/skills/emillindfors-port-adapter-designer?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/emillindfors-port-adapter-designer/security.svg" alt="Skillstore security assessment" loading="lazy"></a>嵌入卡片
<iframe src="https://skillstore.io/embed/skills/emillindfors-port-adapter-designer.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>学术引用 (APA · BibTeX · CFF)
APA 引用
EmilLindfors. (2026). port-adapter-designer security audit report (audit version 4) [Author version 1.0.0]. Skillstore. https://skillstore.io/skills/emillindfors-port-adapter-designer/audits/4BibTeX 引用
@techreport{emillindfors-emillindfors-port-adapter-designer-2026,
author = {EmilLindfors},
title = {port-adapter-designer security audit report (audit version 4)},
institution = {Skillstore},
year = {2026},
number = {4},
url = {https://skillstore.io/skills/emillindfors-port-adapter-designer/audits/4},
note = {Author version 1.0.0}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "port-adapter-designer security audit report (audit version 4)"
version: "1.0.0"
type: report
authors:
- name: "EmilLindfors"
date-released: "2026-07-06"
url: "https://skillstore.io/skills/emillindfors-port-adapter-designer/audits/4"
identifiers:
- type: other
value: "skillstore:emillindfors-port-adapter-designer:audit:4"
description: "Skillstore immutable audit report identifier"
Skillstore 评分
评分依据 证据置信度: 高你能构建什么
解耦持久化
将直接使用 SQLx 的逻辑移到仓储 trait 后面,并使领域逻辑独立于数据库。
规划六边形架构
在添加外部 API、队列、文件存储或支付服务之前定义端口和适配器。
提升可测试性
创建内存适配器或 mock,使应用服务无需生产基础设施即可测试。
试试这些提示
找出此 Rust 模块中的外部依赖,并为其建议最小且有用的端口 trait。
为此端口设计一个 Rust 适配器。包括构造、错误映射、异步行为和所有权选择。
为这些端口建议内存适配器或 mock 适配器,并解释每个测试应覆盖哪些行为。
评审此 Rust 服务,并提出在不改变行为的情况下逐步重构为端口和适配器的方案。
最佳实践
- 让端口 trait 聚焦于领域动作,而不是供应商 API。
- 在每个边界处使用领域类型和领域错误。
- 在接入生产基础设施之前添加测试适配器。
避免
- 通过领域 trait 暴露数据库行或 HTTP 响应类型。
- 创建将无关外部系统组合在一起的大型网关 trait。
- 让适配器向应用服务返回原始基础设施错误。
常见问题
此技能支持哪种架构风格?
它可以设计数据库仓储吗?
它能帮助处理外部 API 吗?
它会生成完整可运行的应用程序吗?
它对测试有用吗?
哪些工具可以使用此技能?
开发者详情
作者
EmilLindfors许可证
MIT
作者版本
v1.0.0
Skillstore 修订
r1
引用
a06681402992ceae98ba04d54cfd4ab004862696
维护新鲜度
2026/7/18
使用量
6 次下载 · 138 次浏览
文件结构
📄 SKILL.md