我一直在想我最好的辦法來刪除我愚蠢地添加的單身人士。對於背景,這個應用程序是一個股票投資組合跟蹤。目前,我有我本以爲這是唯一的實例三類:將單身人士的班級轉換爲上下文的類型
- 價格(一類抱着 的歷史價格,股息, 分裂列表)
- 投資組合(A類管理 組合的集合一些有用 包裝函數)
- 查詢的對象(一個 類讀取和寫入到數據庫 )
爲了滿足用戶的需求,我添加了從多個數據庫打開和保存的功能。理論上,每個數據庫(查詢類)都將傳遞到Portfolios和Prices的構造函數中以加載數據。
我面臨的問題是所有3個類都是相互關聯的。如果我打開C:\ database1.sqlite,我不應該能夠從C:\ database2.sqlite中混合匹配價格和投資組合。此外,任何編輯必須保存到適當的數據庫。
我最初的想法是創建一個由這些類組成的上下文對象並傳遞它。但是,閱讀Can you explain the Context design pattern?,我不認爲這是正確的解決方案。
如何刪除單例,但仍保持對象之間的完整性?謝謝。
如果您的查詢圖層與您的價格或投資組合類有任何關聯,那麼您的設計就會出現嚴重錯誤。我知道這可能太晚了,但是你的設計似乎有一個非常根本的缺陷,不管使用Singleton模式。 – Serapth 2010-06-22 23:33:49
無論這種「上下文模式」是什麼樣子,您提到的問題的鏈接都是死的,而且該模式還不夠流行,無法在谷歌搜索中顯示出來。一旦你解決了奇怪的相互依賴關係,只需實例化高級對象,並將引用傳遞給任何需要它們的對象。 – 2010-06-22 23:43:34
Serapth,Queries圖層不知道價格或投資組合類,但價格和投資組合類使用它來加載並保存到數據庫。 – Matt 2010-06-22 23:45:30