# RAG系统重构文档

## 什么是模块解耦

模块解耦是软件工程中的重要原则，它通过减少模块之间的直接依赖关系，提高系统的可维护性和可扩展性。

在本次重构中，我们通过以下三种方式实现了解耦：

1. 事件总线机制：使用发布-订阅模式实现组件间的异步通信
2. 策略模式：将存储层抽象为接口，支持多种存储后端
3. 统一结果格式：标准化所有操作的返回值格式

## 事件总线的优势

事件总线提供了以下优势：
- 发布者和订阅者解耦
- 支持一对多的事件分发
- 便于系统监控和调试
- 易于扩展新功能

## 策略模式的应用

策略模式允许我们在运行时切换不同的算法或实现。在存储层中：
- LocalStorageStrategy: 本地文件系统存储
- QdrantStorageStrategy: Qdrant向量数据库存储
- 未来可以轻松添加Redis、Elasticsearch等后端
