WebMD
本页大纲

不变式(Invariant)

缩写:无

简述

在对象或模块生命周期中必须始终保持为真的性质。封装与方法设计应维护不变式;并发与反序列化是破坏不变式的高危点。

使用场景

领域对象、集合结构、状态机合法状态。

实践与应用

构造结束 ⇒ 不变式成立
每个公开方法结束 ⇒ 不变式仍成立

注意事项

• 反射/序列化绕过构造
• 并发下撕破不变式

关联术语

• 封装:通过边界维护不变式
• 断言:开发期检查不变式
• 实体:领域对象的状态合法约束
• 并发:并发下撕破不变式的风险