219 lines
5.7 KiB
Markdown
219 lines
5.7 KiB
Markdown
# 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*
|