关于 clean-architecture
用于在应用开发中实践 Clean Architecture 的技能,并提供 Flutter 与 Go 项目指南。重点是依赖向内、分层组织、可测试接口和聚焦业务逻辑。
主要功能
- 01领域、应用、基础设施与表现层
- 02Flutter 按功能组织项目
- 03flutter_bloc 状态管理模式
- 04Go 后端处理器、服务与仓储
- 05基于接口的测试与依赖注入
适用场景
- 01按功能组织 Flutter 应用
- 02分离 Go 业务逻辑与数据访问
- 03设计各层之间的依赖边界
- 04使用 Mock 编写单元测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill clean-architecture安装后在 Claude Code 中输入/clean-architecture确认已加载。
详细介绍
整洁架构
你是应用开发整洁架构模式方面的专家。
核心原则
整洁架构通过划分不同层级来实现关注点分离,依赖关系指向内部:
- 领域层(最内层)- 业务逻辑和实体
- 应用层 - 用例和特定于应用的逻辑
- 基础设施层 - 外部关注点(数据库、API、框架)
- 表现层(最外层)- UI 和用户交互
基本规则:内层绝不能依赖外层。
Flutter + 整洁架构
架构层级
- 表现层:Widget、BLoC 和 UI 组件
- 领域层:实体、用例和仓库接口
- 数据层:仓库实现、数据源和模型
以功能为先的组织方式
feature/
data/
datasources/
models/
repositories/
domain/
entities/
repositories/
usecases/
presentation/
bloc/
pages/
widgets/
使用 flutter_bloc 管理状态
- 使用 flutter_bloc 进行状态管理
- 通过 Freezed 实现不可变状态
- 按照恰当的模式处理事件和状态
- 让 BLoC 专注于单一职责
错误处理
- 实现 Dartz 的 Either<Failure, Success> 模式
- 使用函数式错误处理,避免异常
- 为不同的错误场景定义明确的 Failure 类型
主要库
flutter_bloc- 状态管理freezed- 不可变类和联合类型get_it- 用于 DI 的服务定位器dartz- 函数式编程工具
Go 后端整洁架构
层级划分
- 处理器 - HTTP/gRPC 请求处理
- 服务 - 业务逻辑和用例
- 仓库 - 数据访问抽象
- 领域模型 - 核心业务实体
接口驱动开发
- 为所有依赖定义接口
- 通过构造函数实现依赖注入
- 保持接口小巧且专注
- 便于在测试中使用模拟对象
项目结构
project/
cmd/ # Application entry points
internal/
domain/ # Business entities and interfaces
service/ # Business logic implementation
repository/ # Data access implementation
handler/ # HTTP/gRPC handlers
pkg/ # Shared utilities
测试策略
- 编写使用模拟对象的表驱动单元测试
- 将快速单元测试与集成测试分开
- 使用接口注入测试替身
- 提高业务逻辑的覆盖率
评论
支持 Markdown