把只读状态写到了事务字段里,明显不符合单一原则。一个字段怎么能表示多种意思呢?如果一开始就不违反单一原则,即便没想到并发冲突问题,也不会出现问题。
现象
比如做只读,将只读状态写到了事务字段里。
这明显就不符合设计原则,单一原则。
一个字段怎么能表示多种意思的呢?
开始觉得事务字段已经在页面展示了,加个只读前端自动展示就完事了。
结果事务字段还有其他的作用,防止并发操作。
和上面一样,打补丁按照流程,没有按照对象,那在处理事务字段的判断里跳过 readonly 的操作。
结果根本改不完啊,只读检查和所有流程耦合在一起,简直了。
根因:违反单一原则
如果一开始就不要违反单一原则,即便没有想到并发冲突问题,也不会出现问题。
小结
- 符合设计原则,可以规避一些想不到的问题;
- 一个字段不能表示多种意思,违反单一原则;
- 打补丁要按照对象,而不是按照流程;
- 只读检查和所有流程耦合在一起,根本改不完;
- 如果一开始就不违反单一原则,即便没想到并发冲突问题,也不会出现问题。