AgentSkillsCN

principle-soc

实现关注点分离,确保不同职责模块化和边界清晰。当需要架构分层设计、模块职责划分、横切关注点处理时使用。覆盖层次分离、功能分离、横切关注点三大维度,提供分离检查清单和耦合问题的诊断修复方法。

中文原作
SKILL.md
--- frontmatter
name: principle-soc
description: 实现关注点分离,确保不同职责模块化和边界清晰。当需要架构分层设计、模块职责划分、横切关注点处理时使用。覆盖层次分离、功能分离、横切关注点三大维度,提供分离检查清单和耦合问题的诊断修复方法。
stage: COMMON
level_supported: [L1-STREAMLINED, L2-BALANCED, L3-RIGOROUS]

Separation of Concerns Skill

Scope: COMMON(全阶段通用)

版本: 0.1.0(占位)| 创建日期: 2025-11-27


概述

SoC(Separation of Concerns)是软件架构的基础原则:

code
┌─────────────────────────────────────────────────────┐
│              🧩 Separation of Concerns              │
├─────────────────────────────────────────────────────┤
│  "Let me not be so vain to think that I am the     │
│   sole author of my work... We are all but         │
│   standing on the shoulders of giants."            │
│                              — Edsger W. Dijkstra  │
└─────────────────────────────────────────────────────┘

关注点分离维度

层次分离

  • 表现层 / 业务层 / 数据层 清晰分离
  • UI 不包含业务逻辑
  • 数据访问不混入业务规则

功能分离

  • 每个模块有明确的职责边界
  • 模块间通过接口通信
  • 跨模块依赖最小化

横切关注点

  • 日志、安全、事务等是否独立处理
  • 是否使用 AOP 或中间件
  • 基础设施代码与业务代码分离

数据与行为分离

  • DTO/Entity 职责清晰
  • 数据传输与业务对象分离
  • 配置与代码分离

常见模式

模式关注点分离方式
MVC/MVVMModel / View / Controller
分层架构Presentation / Business / Data
微服务按业务域分离
六边形架构核心 / 端口 / 适配器

分级检查策略

L1-STREAMLINED

  • 每维度检查 1 个核心点(共 4 项)
  • 关注明显的职责混淆
  • 通过标准:4 项中 3 项通过(≥75%)

L2-BALANCED

  • 每维度检查 2-3 个关键点(共 8-12 项)
  • 依赖图可视化分析
  • 通过标准:8 项中 7 项通过(≥87.5%)

L3-RIGOROUS

  • 全面检查所有子项(12+ 项)
  • 耦合度量化(目标:低耦合高内聚)
  • 记录边界违反和重构建议
  • 通过标准:12 项中 11 项通过(≥91.7%)

>> 命令

code
>>soc_check_l1       # SoC 快速检查
>>soc_layer_review   # 层次分离审查
>>soc_boundary       # 边界识别

相关 Skills

  • 同类: principle-solid, principle-dry, principle-kiss(设计原则家族)
  • 应用: layer-design, component-boundary(架构分离)
  • 验证: vertical-slice(每个切片的关注点)
  • 扩展: microservice-thinking(微服务级别的 SoC)

TODO: 待细化各架构模式的 SoC 检查规则