我喜歡的解決方案是創建一個CommonJS的模塊以下方式:
function ShoppingCart(options) {
// do some setup for the shopping cart
}
ShoppingCart.prototype.add(product, qty)
// add product to cart
}
ShoppingCart.prototype.remove(product, qty)
// remove product from cart
}
ShoppingCart.prototype.clear()
// empty cart (and create new, empty one)
}
// etc.
ShoppingCart = new ShoppingCart();
module.exports = ShoppingCart;
如何進入?
var Cart = require('path/to/ShoppingCart');
Cart.add();
Cart.remove();
Cart.clear();
這創造了一種單的其中創建了第一次你調用它,它一直保持,直到應用程序結束(從內存中刪除),或者你實現清晰的方法和自行清潔。你也可以使用這個單例來保存數據,這取決於你要實現哪些部分。這與你的第一個想法很相似。
你的第二個想法有幾個缺點,因爲數據訪問沒有封裝到模塊中,數據總是被保存下來,所以你需要檢測它是否是舊的並且可以被刪除。
最後這取決於你的任務。你是否需要persisten存儲,你應該將模塊與數據庫結合起來。你只需要在運行時需要這些信息,該模塊就足夠了。
哇,謝謝你的精確和周到的回答先生VVoo。 – Wytze 2013-02-18 17:15:43