值对象层 (Value Objects): - VersionCode: 整数版本号,支持比较操作 - VersionName: 语义化版本格式 (major.minor.patch) - BuildNumber: 构建号验证 (字母数字+点/下划线/连字符) - DownloadUrl: HTTP/HTTPS URL 格式验证 - FileSha256: 64字符十六进制字符串验证 - FileSize: BigInt类型,2GB上限,支持人类可读格式转换 - Changelog: 更新日志 (10-5000字符) - MinOsVersion: 最低操作系统版本格式验证 领域层重构: - AppVersion Entity: 从贫血模型重构为充血模型 - 私有字段 + getter 封装 - 业务方法: disable(), enable(), setForceUpdate(), setReleaseDate() - 工厂方法: create() (新建), reconstitute() (重建) - 使用值对象替代所有原始类型 基础设施层: - AppVersionMapper: 领域对象与持久化模型转换 - AppVersionRepositoryImpl: 使用 Mapper 进行数据转换 - 更新方法签名使用值对象类型 应用层: - CreateVersionHandler: 创建值对象后构建领域实体 - CheckUpdateHandler: 从值对象提取值用于响应 共享层: - DomainException: 领域异常基类 架构改进: - 完整的 DDD 分层架构 - 值对象封装验证逻辑和业务规则 - 领域实体包含业务行为 - 清晰的领域-持久化边界 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| domain.exception.ts | ||