模型点、全局变量与有限状态机的深入剖析
1. 模型点与全局变量
在编程领域,全局变量常常被视为“洪水猛兽”,但模型点虽与全局变量有相似之处,却有着不同的语义。
1.1 全局变量的弊端
全局变量存在诸多问题,以下是一些常见的弊端:
- 值的不确定性 :非常量全局变量的值可随时改变,开发者难以知晓何时、如何或是否会发生改变。
- 线程不安全 :全局变量本身不具备线程安全性。
- 查找困难 :客户端需要花费时间查找全局变量被引用的所有位置。
- 隐藏依赖 :全局变量可能引入隐藏依赖,使代码测试变得极为困难。
- 模块封闭性问题 :依赖全局变量的模块无法对可能写入该变量的其他模块封闭。
- 命名空间污染 :全局变量会污染标准命名空间。
1.2 模型点的优势
尽管静态实例化的模型点从编译器角度看是全局变量,但模型点语义并非传统变量,具有以下优势:
- 语义明确 :模型点实例可随时改变,不会假设其值未被外部实体更改。
- 线程安全 :模型点类型要求具备线程安全性。
- 使用灵活 :开发者查找模型点的使用位置是为了理解应用程序的工作原理,但构建使用模型点实例的模块时,无需知道其所有使用位置。
-
超级会员免费看
订阅专栏 解锁全文
1036

被折叠的 条评论
为什么被折叠?



