gpt4 book ai didi

database - 为什么数据库不被视为全局状态的一种形式?

转载 作者:搜寻专家 更新时间:2023-10-30 22:19:30 25 4
gpt4 key购买 nike

我对这种差异有一种普遍的直觉,但我无法准确指出数据库与全局状态的不同之处。

根据“全局状态”的简单定义,数据库通常至少是应用程序全局的。可以想象,您可以拥有一个在执行过程中更改数据库的应用程序,但在一般情况下,它是全局使用的。

至于状态,我认为我不需要争论数据库包含状态的情况。

那么是什么让数据库不同于“糟糕”的全局状态呢?

出现这个问题是因为我试图避免对象需要了解其父对象的紧耦合。

例如,假设您正在玩一款策略游戏,并且您的一个单位具有一项能力,当它对一个敌方单位造成伤害时,该单位的所有者将损失 x 金币,其中 x 是造成的伤害量。

嗯,在正常情况下,一个单位不应该知道它的所有者是谁。所有者是控制单元的人,因此所有者只需向单元发出命令,它就会执行其操作。

然而,由于外部因素,需要查明单位的所有者是谁。在这种情况下,攻击单位知道它正在攻击的单位,这很好。但是现在除了知道它正在攻击的单位之外,它还必须进一步知道它的所有者才能使所有者损失 5 金币。

我已经偏离了最初的问题,超出了我的预期,但是如果游戏状态存储在关系数据库中,那么查询目标的所有者将是微不足道的,而不需要单位直接知道他们是谁老板是。如果这样的数据库是一个对象,我会将该数据库称为上帝对象,因为它知道所有事物的完整状态,而且是可变的。

是什么让数据库不同于全局状态?

最佳答案

它的不同之处在于它被设计为共享的全局状态资源。

RDBMS 实现 ACID ,大多数其他全局状态都没有。

关于database - 为什么数据库不被视为全局状态的一种形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5764867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com