|
与共享对象关联的数据被存储在对象的data属性的属性中。每一个属性集合构成了一个插槽。例如,下
面的代码行把值指
派给一个共享对象的三个插槽:
my_so.data.userID = "myLogonName";
my_so.data.currentStatus = "in a meeting";
my_so.data.lastLogon = "February 27, 2002";
每次一个客户机改变了一个属性,针对这个插槽的所有属性都会被发送到服务器,然后会被传播到捆
绑到这个对象的所有
的客户机。因此,一个插槽包含的信息越多,则当这个插槽的任何属性被改变时就会产生越多的网络传输
量。
例如,考虑这样一个共享对象,它带有下列属性,这些属性占用了一个插槽。
my_so.data.year.month.dayOfMonth = someValue;
如果一个客户机改变了year、month或dayOfMonth的属性,则整个的插槽就会被更新,尽管只有一个数
据项被改变。
把这种数据结构同一个具有相同属性,但使用一种平面设计,即占用三个插槽而不是仅占用一个插槽
的共享对象进行比
较:
my_so.data.year = someValue;
my_so.data.month = someValue;
my_so.data.dayOfMonth = someValue;
在这种情况下,因为每一个插槽仅包含一个信息,因此,当一个数据属性被改变时,为了更新所有连
接的客户机所需的带
宽就会更少。
当你设计你的远端共享对象时,你可以使用这个信息。例如,如果一个对象被设计为由多个客户机实
时的频繁更新的话,
则最小化每个插槽的数据量将会改善性能。这个设计也有助于最小化数据冲突(多个客户机试图同时改变
一个插槽)。 |
|