固有逻辑 III
发布: (2026年1月10日 GMT+8 04:18)
2 min read
原文: Dev.to
Source: Dev.to
声明式 vs 命令式 作为固有逻辑
有一个设计真理我一直在重复:形式本身包含其规则。
结构本身告诉你它必须如何使用。这不是观点,而是必然的结果。
简单示例
- 树结构迫使你以 父子 关系来思考。
- 列表结构迫使你以 顺序 来思考。
- 图结构迫使你以 连接 来思考。
- 运行时迫使你以 动作和状态 来思考。
这不是哲学——而是工程学。每种结构都有其固有的逻辑,一种它自然想要运作的方式。这些不是单纯的偏好(例如,制表符 vs 空格);它们是不同结构的固有逻辑。
我们常说声明式代码“描述你想要的东西”,但这种定义具有误导性。声明式并不是在描述、叙述或解释,而是 定义一种结构,使结果隐含在数据中,而不是在动作序列中。
在声明式系统中:
- ✅ 数据承载意图
- ✅ 渲染器解释数据
- ✅ 结果从结构中自然产生
示例
{ type: "Button", props: { children: "OK" } }