2012-03-26 29 views
0

在最近的代碼重構中,我正在實現一種將數據處理與數據本身隔離開來的想法。它就像責任鏈一樣 - 處理單元提供處理特定業務範圍內的數據的能力,同時數據對象通過整個處理鏈傳遞。有沒有什麼優雅的方法來阻止一個班級持有私人數據?

進一步的優化是通過「單一化」處理鏈實例完成的。考慮到潛在的併發問題,需要在這些處理單元中刪除任何私有數據引用。

所以,我想知道是否有一些編程範例可以建議其他程序員在未來進行修改時符合這種模式。

在此先感謝〜

+1

我只想指出你正在做的和'貧血模型'設計(反)模式非常相似。個人 - 我全都反對它。 OO設計(我喜歡)基於將數據及其操作集中在一個地方。這是Martin Fowler對此的看法:http://martinfowler.com/bliki/AnemicDomainModel.html – 2012-03-26 16:39:54

+0

內置了一個* APT *工具。 – fwonce 2013-01-10 02:04:08

回答

1

該原則稱爲「服務無狀態」。在面向服務的設計範例服務應該是無狀態的,因此他們沒有私人數據。無狀態是爲了支持可擴展性所需要的。

更新:如果您需要某些狀態數據(上下文,會話,業務),有一種優雅的方式來阻止類保存稱爲狀態管理委派和狀態延遲的私有數據。狀態延遲示例可以是專用數據庫/表,您的組件用它來寫狀態並稍後檢索它。

相關問題