Files
16gagent/docs/factory-registry.md
T
2026-06-06 10:40:48 +08:00

219 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Factory Registry
> **PR-36 Part A**SF-01 ~ SF-15 Factory 注册中心。
---
## 概述
Factory Registry 是 Software Factory Core 的注册中心,管理全部 15 个 Factory 的元数据。
Registry 本身**不包含 Factory 实现**。每个 Factory 的实现通过 `registerImplementation()` 外部注入,确保松耦合和可测试性。
---
## SF-01 ~ SF-15 Factory 清单
### SF-01 · 产品战略工厂
- **领域**: product-strategy
- **输入**: other
- **输出**: requirement, report
- **描述**: 市场分析、竞品研究、产品定位、战略路线图
- **依赖**: 无
### SF-02 · 需求工程工厂
- **领域**: requirement-engineering
- **输入**: requirement
- **输出**: requirement, prototype
- **描述**: PRD 生成、需求拆解、用例建模、验收标准定义
- **依赖**: SF-01 (data)
### SF-03 · 产品设计工厂
- **领域**: product-design
- **输入**: requirement
- **输出**: design, prototype
- **描述**: 信息架构、交互流程、页面结构、原型设计
- **依赖**: SF-02 (data)
### SF-04 · 视觉设计工厂
- **领域**: visual-design
- **输入**: design, prototype
- **输出**: design
- **描述**: 设计系统、组件库、视觉稿、品牌规范
- **依赖**: SF-03 (data)
### SF-05 · 技术架构工厂
- **领域**: architecture
- **输入**: requirement, design
- **输出**: architecture, code
- **描述**: ADR、技术选型、系统设计、API 设计
- **依赖**: SF-02 (data), SF-03 (soft)
### SF-06 · 平台规划工厂
- **领域**: platform-planning
- **输入**: architecture
- **输出**: architecture, report
- **描述**: 基础设施规划、部署架构、容量规划、成本估算
- **依赖**: SF-05 (data)
### SF-07 · 全栈开发工厂
- **领域**: full-stack-development
- **输入**: architecture, design, requirement
- **输出**: code, test
- **描述**: 前端/后端/数据库/API 全栈开发
- **依赖**: SF-05 (hard), SF-04 (soft), SF-06 (soft)
### SF-08 · Agent 协作工厂
- **领域**: agent-collaboration
- **输入**: requirement, code
- **输出**: code, report
- **描述**: 多 Agent 编排、通信协议、任务分配
- **依赖**: SF-02 (soft)
### SF-09 · 质量治理工厂
- **领域**: quality-governance
- **输入**: code, test, architecture
- **输出**: report, other
- **描述**: 代码审查、质量门禁、合规检查、技术债务管理
- **依赖**: SF-07 (hard)
### SF-10 · 测试工厂
- **领域**: testing
- **输入**: code, architecture
- **输出**: test, report
- **描述**: 单元测试、集成测试、E2E 测试、性能测试、安全测试
- **依赖**: SF-07 (hard), SF-09 (soft)
### SF-11 · 发布工厂
- **领域**: release
- **输入**: code, test, report
- **输出**: release, report
- **描述**: 版本管理、发布流水线、制品管理、部署编排
- **依赖**: SF-09 (hard), SF-10 (hard)
### SF-12 · 运维工厂
- **领域**: operations
- **输入**: release, report
- **输出**: operations, report
- **描述**: 监控告警、日志管理、故障处理、性能优化
- **依赖**: SF-11 (trigger)
### SF-13 · 演进工厂
- **领域**: evolution
- **输入**: operations, report
- **输出**: requirement, report
- **描述**: 产品迭代规划、技术演进、架构升级
- **依赖**: SF-12 (data), SF-01 (soft)
### SF-14 · 增长工厂
- **领域**: growth
- **输入**: operations, report
- **输出**: report, marketing
- **描述**: 数据分析、A/B 测试、用户增长、转化优化
- **依赖**: SF-12 (data)
### SF-15 · 软件公司工厂
- **领域**: software-company
- **输入**: report
- **输出**: report
- **描述**: 项目管理、资源分配、团队协作、财务规划、公司运营
- **依赖**: SF-01 (soft), SF-13 (soft), SF-14 (soft)
---
## 依赖图(完整)
```
SF-01 ──→ SF-02 ──→ SF-03 ──→ SF-04
│ │ │
│ └──→ SF-05 ──→ SF-06 │
│ │ │
│ ▼ ▼
│ SF-07 Development
│ │ │
│ ▼ ▼
│ SF-09 SF-10
│ │ │
│ └──→ SF-11 ←──┘
│ │
│ ▼
│ SF-12
│ │ │
│ ▼ ▼
└──────────→ SF-13 SF-14
│ │
└──→ SF-15 ←──┘
```
---
## 并行执行批次
基于依赖图分析,可并行执行的批次:
| 批次 | Factory | 说明 |
|------|---------|------|
| 1 | SF-01 | 无依赖,先执行 |
| 2 | SF-02 | 依赖 SF-01 |
| 3 | SF-03, SF-05, SF-08 | 并行 |
| 4 | SF-04, SF-06 | 并行 |
| 5 | SF-07 | 依赖 SF-04/05/06 |
| 6 | SF-09, SF-10 | 并行 |
| 7 | SF-11 | 依赖 SF-09/10 |
| 8 | SF-12 | 依赖 SF-11 |
| 9 | SF-13, SF-14 | 并行 |
| 10 | SF-15 | 依赖 SF-01/13/14 |
---
## Factory 状态
| 状态 | 含义 |
|------|------|
| `registered` | 已注册元数据,待激活(默认) |
| `active` | 已激活,实现了 `registerImplementation()` |
| `deprecated` | 已废弃,不推荐使用 |
| `disabled` | 已禁用 |
---
## 使用
```javascript
import { createFactoryRegistry } from './src/software-factory-core/index.mjs';
const registry = createFactoryRegistry();
// 查询
const sf07 = registry.get("SF-07");
// 依赖分析
const deps = registry.getDependencies("SF-07");
const dependents = registry.getDependents("SF-05");
// 注入实现
registry.registerImplementation("SF-01", myStrategy);
// 执行
registry.execute("SF-01", input);
```
---
*Part of PR-36 Software Factory Core*