生态第三方包
组合与选型
按 21 个稳定库的真实依赖关系组合数据、网络、数据库、测试与桌面能力。
库保持职责单一;箭头只表示包依赖,不表示权限传递。
言据
├─ 言录
├─ 言访 ── 言韧、言录
├─ 言库 ── 言录、言时
│ ├─ 言舟(SQLite)
│ ├─ 言库象城(PostgreSQL)
│ ├─ 言库海豚(MySQL/MariaDB)
│ └─ 言映 ── 言验、言令
├─ 言枢 ── 言页、言讯、言访
└─ 言试 ── 言时、言访、言库
言页 ── 言章
无直接包依赖:言据、言版、言容、言时、言验、言韧、言令、言讯、言签、言页、言窗常见组合
| 目标 | 建议组合 | 原因 |
|---|---|---|
| 命令行工具 | 言令 + 言验 + 言录 | 参数、输入边界和结构化运行记录 |
| 调用外部服务 | 言访 + 言签 + 言验 | HTTP、令牌和响应 Schema |
| Web 服务 | 言枢 + 言验 + 言录 | 应用路由、安全中间件、输入与观测 |
| 本地数据应用 | 言舟 + 言库 | 原生 SQLite 与统一协议 |
| PostgreSQL 应用 | 言库象城 + 言库 | TLS、连接池、JSONB 和迁移 |
| MySQL/MariaDB 应用 | 言库海豚 + 言库 | 双服务兼容、JSON、连接池和迁移 |
| 领域模型 | 言映 + 一种驱动 | 模型、关联、作用域、迁移与事务单元 |
| 安全内容 | 言章 + 言页 | Markdown 解析与默认转义 HTML |
| 可重复测试 | 言试 + 生产协议对象 | Mock HTTP、虚拟时钟、快照和事务回滚 |
| 桌面应用 | 言窗 + 业务库 | 原生 GUI 与业务层解耦 |
数据库层次
业务或仓储代码面向言库协议,应用在组合根选择具体驱动。言映只根据方言能力生成 SQL,
不隐式打开连接。规范言据 TEXT/CLOB 在四个后端通用;JSONB/JSON/JSON1 是独立的原生
结构化策略,不等同于.yj文本。
只需要手工 SQL 时无需安装 ORM。需要模型、关联、软删除、乐观锁、迁移和言据字段时再 加入言映;生产破坏性变更继续使用显式迁移,不用自动同步替代。
网络边界
言讯是服务端协议,言访是客户端,二者不互相依赖。言枢在应用层依赖两者并提供无端口 测试适配。生产 TLS、并发调度、反向代理信任、速率限制和身份授权不由这些库隐式完成。
可注入边界
- 把时钟、数据库连接、HTTP 传输和日志器作为参数或构造配置注入。
- 在最外层解析与验证外部输入,领域层只接收已经验证的值。
- 在测试中替换传输、时钟和事务,不劫持全局函数。
- 日志只记录模板、计数、耗时和脱敏字段,不记录口令、令牌、Cookie 或完整连接串。
使用yanbao tree和yanbao why验证真实传递图;不要根据文档图猜测自己的锁文件。