Answers:
作者正在谈论全局数据的结构,以及更改该结构将如何影响使用它的代码。
如果可以直接访问全局数据,则更改数据结构意味着潜在地必须更改使用该全局数据的所有代码。
如果只能通过接口(例如一组功能)访问全局数据,则更改结构意味着仅更改这些访问器。其余代码无需更改。
一个简单的例子就是以整数数组开头的代码(例如,static int[]
在某些Java类中为a)。如果该数组可以全局访问,那么人们将开始以数组语法(即Global.cool_stuff[x] = 1;
)使用它。如果出于某种原因要将数组更改为集合类型(向量,列表等),则必须更改使用此全局数据的所有代码,因为从语法上讲,它已变得无效。
如果只能通过一组访问器/更改器功能(“隐藏在”接口之后)访问该数据,则只需要更改那部分功能即可。实际使用数据的代码可以保持不变。