如果全球數據被視爲如此糟糕,以及它在系統中任何地方發生變化的可能性 - 那麼不是數據庫由於相同的投訴?如果全球數據如此糟糕,爲什麼不適用於數據庫(在技術上只是全球數據)
數據庫只是一個大的持久性全局數據存儲嗎?
如果全球數據被視爲如此糟糕,以及它在系統中任何地方發生變化的可能性 - 那麼不是數據庫由於相同的投訴?如果全球數據如此糟糕,爲什麼不適用於數據庫(在技術上只是全球數據)
數據庫只是一個大的持久性全局數據存儲嗎?
數據庫是公正的全球數據,如果你有全局數據庫存取,這是錯誤。
從技術上講,數據庫是一個數據存儲器,用於保存應用程序數據,即在同一代碼的執行(而不是內存數據)之間保留它。數據庫中的數據不應該被代碼的每個部分所訪問,而只是針對特定的部分。
全球數據並不差。 Global variables are bad。
使全局變量不好的一些事情也適用於數據庫。
全局變量引入緊耦合,這使得應用程序變得脆弱。數據庫也是這樣做的 - 數據的改變可能會破壞應用程序,除非您採取措施來降低風險。 ORM框架所做的大量工作與此有關 - 檢查數據類型等。
全局變量使代碼難以理解 - 您必須瞭解您當前正在閱讀的代碼以及其他所有實例那個變量可能會改變。這也適用於數據庫 - 同樣,ORM系統通過將數據庫數據重新定義爲應用程序數據來嘗試減少此問題。
全局變量可能引入併發問題。數據庫通過事務緩解這種情況。
所以,是的,使用數據庫存在缺陷。但對於大多數主流開發項目來說,沒有太多替代方案......
爲什麼數據庫會被認爲與全局變量一樣糟糕?這兩個不同的磚塊和木星,並沒有遠程落入同一類別。 – 2014-12-05 11:46:23