- 对象三要素:唯一标识性、状态、行为
- 对象的设计原则:行为必须是改变自身状态
- 为什么「行为必须改变自身状态」,假如我不遵从该原则,会有什么痛点?
- 设计一段行为改变其它对象状态的代码,看看会发生什么
- 提取关键要素:状态管理。如果违背「行为必须改变自身状态」,则涉及到状态管理问题,而在 JS 开发中,状态管理方案的探索一直没有停止:MVC -> Flux -> Redux -> Recoil -> …?。
- 由上一步推论:遵循「行为必须改变自身状态」把状态变更控制在自身范围,不增加程序的复杂度
- 分析各个方案的痛点 …